08/07/17 06:16:03 Gyrnmso4
>>49
ありがとうございます。
はい、win2k(XP)ですorz。
エディタの方の環境を書き忘れてしまいましたが、FlashDevelopです。
プロパティでそういうのが無いか探してみたいと思います。
始まる位置とは別で、以下のプログラムでTestと表示されるのですが、
var test : Test = new Test();
と初期化?していないのに表示されるのはなぜでしょうか。
package
{
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class Test extends flash.display.Sprite
{
public function Test():void
{
var textField:TextField = new TextField();
textField.text = "Test";
textField.autoSize = TextFieldAutoSize.LEFT;
addChild(textField);
}
}
}
51:Now_loading...774KB
08/07/17 06:22:52 6Zix5Hf4
>>50
それがスタートするクラスだからでしょw
52:Now_loading...774KB
08/07/17 06:25:36 Gyrnmso4
>>51
あ、そうですよねw
ありがとうございます。
53:Now_loading...774KB
08/07/17 09:43:46 39OL6mLv
>>46
Rubyは糞遅い、とか、Perlは難しいとか、Javaはエレガント、とか
そんな感じじゃないでしょうか
54:Now_loading...774KB
08/07/17 09:51:48 Gyrnmso4
>>49
FlashDevelopでは、プロジェクト作ると、一緒にMain.asが出来て、
それがスタートクラスになるみたいなので、問題を解決できました。
プロジェクトを作らず、直にasファイルを作っていたのがダメでした。
55:Now_loading...774KB
08/07/17 21:09:49 8Uy9fTPe
初めまして。ボタンシンボルについて質問させてください。
ボタンシンボル内に配置されているダイナミックテキストのインスタンスが取得できず困っています。
ボタンシンボル内にダイナミックテキストを配置し、
そのダイナミックテキストをメイン側のActionScriptから変更したいのですが…。
※使用例としては、ランダムな複数のアイテムを
アイテム名が表示されたボタンから選択する、というものを想定しています
----------------------------------------------------------------------
環境:Adobe Flash CS3 Pro にて Flash version 9(AS3.0) で作成
プログラム上にて:
○ボタンシンボル内にダイナミックテキストを配置、テキストのインスタンス名を "txt_itemname" に設定
○メインのアクションで、以下のように記述
[ボタンのインスンス名].txt_itemname.text = "アイテム1";
デバッグ出力結果:
ReferenceError: Error #1069: flash.display.SimpleButton にプロパティ txt_itemname が見つからず、デフォルト値もありません。
----------------------------------------------------------------------
デバッグ中のボタンインスタンスには"txt_itemname"なるインスタンスが見当たらず・・・
少し例が違うのですが、以下のページに、
"ボタンの中に配置したMovieClipにインスタンス名を設定しても認識されない"
と書かれているのを発見しました。
URLリンク(www.flash-jp.com)
上記ページのとおり、ボタンシンボル内のダイナミックテキストのインスタンスは取得することが出来ないのでしょうか?
また、こういうことをしたい場合はMovieClipでボタンを作るべきなのでしょうか?
56:Now_loading...774KB
08/07/17 21:36:56 U+BXAqG1
AS3です。
ムービーサイズをAS3上から
コントロールしたいのですが、どのクラスを使えばいいのでしょうか。
stage.stageWidthでサイズは取得できますが、
逆にサイズをコントロールする方法が
わかりません。
そもそもHTMLにはめ込んでいるswfのムービーサイズを、
自在に変更することは可能なのでしょうか。
ムービーサイズというのは、
flashのプロパティパネルの「サイズ」のことです。
57:Now_loading...774KB
08/07/18 10:13:06 j1Ba85R1
ActionScript3.0アニメーションっていう本を読んでます。
角度と移動量から、xとyを計算してENTER_FRAMEでアニメーションさせる
というサンプルが思ったとおりの動きをしないのですが、何か勘違いしてるのでしょうか?
(一部抜粋)
private var ball:Ball;
private var angle:Number = 45;
private var speed:Number = 3;
private function init():void
{
ballをaddChild
}
private function onEnterFrame(event:Event):void
{
var radians:Number = angle * Math.PI / 180;
var vx:Number = Math.cos(angle) * speed;
var vy:Number = Math.sin(angle) * speed;
ball.x += vx;
ball.y += vy;
}
これで、右下45度に向かってballが移動するのかとおもうのですが、角度が45ではありません。
たとえば90にしても、真下にはいきません。
どっかおかしいですか?
58:Now_loading...774KB
08/07/18 11:54:24 W31UC1S8
>>55
パスが違ってるだけじゃね
ボタンはコンテナじゃないし
>>56
拡大縮小するとか、htmlでは設定できるが本来の表現じゃなくなるからなあ
>>57
>var radians:Number = angle * Math.PI / 180;
radiansってどこで使ってるの?
59:Now_loading...774KB
08/07/18 16:15:09 OGGUuJ9T
クラスのコンストラクタでMCを作成して
stageにaddChildしたいのですがstageへアクセスできないみたいで、できませんでした。
クラスからstageにMCをaddChildするにはどうすればいいのでしょうか。
60:57
08/07/18 21:09:44 j1Ba85R1
>>58
あああ、ほとんだ
サンクス。解決した
61:Now_loading...774KB
08/07/18 22:20:00 ulTCy8U8
こんちわ、最近Flashはじめた厨房です。
一時粘着させてもらいます。
で、早速質問なんですが、asファイルをimportしようとしたら下記エラーが出ます。
1084: シンタックスエラー : identifier が as の前に必要です。
asに書いたのは下の一文だけ
import src.as.*;
これってどういうことなんですか?
62:61
08/07/18 22:31:04 ulTCy8U8
あ、ごめんなさい、環境変数にASのパス入れてなかったorz
またきます。
63:Now_loading...774KB
08/07/18 22:33:58 j1Ba85R1
importはファイル名じゃなくてクラス名だから
import src
だよ
って、もうどっかいなくなったかな?
64:61
08/07/18 22:39:21 ulTCy8U8
>>63
あ、いえ、まだいます。
環境変数でD:\Flash\srcにクラスパスを設定したとします。
で、srcフォルダ配下にas3っていうフォルダを作成したとします。
as3フォルダ内にpackage src.asでパッケージ宣言をした場合、どういった書式になるんですか?
import src.*;
で通るんでしょうか?
65:61
08/07/18 22:40:59 ulTCy8U8
すんません。
package src.as3でパッケージ宣言をしたasファイルを設置した場合、でした。
66:Now_loading...774KB
08/07/18 22:41:49 FX6z5Ir1
通りません
67:61
08/07/18 22:51:51 ulTCy8U8
>>66
ちょwwwテストしたら通ったぢゃないっすかwww
//test.fla
import src.as3.*;
var sample:TestTrace = new TestTrace();
//TestTrace.as
package src.as3{
public class TestTrace{
public function TestTrace(){
trace("test");
}
}
}
あれ?でも返り値としてsample変数を受け取りたくない場合ってどうすればいいんっすかね・・・・。
どなたか教えてください。
68:Now_loading...774KB
08/07/18 22:56:26 FX6z5Ir1
最初の「var sample:TestTrace = 」を書かずに単にnew TestTrace();だけ書くとか?
69:Now_loading...774KB
08/07/18 23:11:02 QA7zb/vg
それでOK
70:61
08/07/18 23:13:07 ulTCy8U8
お、通りましたー!
サンクスです。またきます。
71:61
08/07/19 02:29:05 c8rCFT/w
ちょっとまた質問です。
Loaderクラスをインスタンス化したloaderっていうのを作りました。
で、loaderのプロパティであるloadに引数としてswfファイルのパスを指定してあげて実行したら下記エラーが出ました。
TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
at src.as3::SWFLoad/loadHandler()
ちなみにコードはこんな感じです。
====================================================================
package src.as3{
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class SWFLoad extends Sprite {
private var loader:Loader;
private var url:URLRequest;
private var mc:MovieClip;
public function SWFLoad(xmlPath:String){
loader = new Loader();
mc = new MovieClip();
url = new URLRequest(xmlPath);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadHandler);
loader.load(url);
}
・・・・・続く
72:61
08/07/19 02:30:32 c8rCFT/w
private function loadHandler(event:Event):void {
addChild(loader);
mc = loader.content as MovieClip;
mc.stop();
}
}
}
====================================================================
mc = loader.content as MovieClip;がいけないんですかね?どういう書き方をすればいいんですか?
どなたか教えてください。
73:Now_loading...774KB
08/07/19 08:38:35 6/557yl0
よくわからんがmcってどこで宣言してんだ?型は?
74:Now_loading...774KB
08/07/19 08:57:42 6/557yl0
あ、わりい宣言してるしOrz
75:Now_loading...774KB
08/07/19 10:57:48 ok6jVTwd
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)
attachMovie()でのMCのフレーム指定について質問です。
線型のMC(lineM)を描画用MC(waveBoardM)内に条件によって色を変えつつattachMovieしたく思っています。
つまり、条件1→lineMを青,条件2→lineMを白,・・・ という感じです。
このとき、あらかじめ lineM 内のフレームとして、フレーム1:青色,フレーム2:白 として、条件に
より _currentframe でフレーム選択ができないか?と思ってASを書きましたがうまくいきません。
ASは以下の通りです。
if (条件1) {
lineProp = {_currentframe:1};
} else if (条件2) {
lineProp = {_currentframe:2};
}
this.waveBoardM.globalToLocal(lineProp);
this.waveBoardM.attachMovie("lineM", NewLine, lineDepth, lineProp);
この場合のアドバイスを願います。
76:Now_loading...774KB
08/07/19 11:39:00 AcLa6oK9
>>75
_currentFrameは読み取り専用だからそれだと無理かな。
onEnetrFrameが空いてれば、それを使って移動するのはできると思う。ただ、1フレーム分遅れるけどね。
lineProp={onEnterFrame:function (){delete this.onEnterFrame;this.gotoAndStop(2);trace("初期フレームに移動しました");}}
this.waveBoardM.attachMovie("lineM", NewLine, lineDepth, lineProp);
77:61
08/07/19 12:03:17 c8rCFT/w
おはようです。
うむ、やっぱりmc = loader.content as MovieClip;でmcがnullなのがいけないっぽいです。
traceしてみたらnullってたorz
mc.stop();をコメントアウトしたらエラーは出なくなった。問題はなぜmcがnullなのか・・・ということですが・・・。
ちなみに上のASは外部SWFファイルを読み込むASなんですが・・・。
どなたかどういう書き方なら良いのか教えてくだしあお願いしまう><
[参考にしたサイト]URLリンク(myactionscript3.blog51.fc2.com)
78:Now_loading...774KB
08/07/19 12:19:19 AcLa6oK9
>>77
変な処理だけど、間違ってはいないんじゃないかなあ
loader.contentはnullじゃないの?
そこがnullだったら、読み込みの問題じゃないのかな
で、nullじゃない場合は。読み込んでるのがAS3.0のswfファイルじゃないんじゃないかな?
昔のswfムービーとか
79:Now_loading...774KB
08/07/19 12:25:06 X5JZ6CsC
>>77
trace(loader.content)は?
入ってたとして、asでnullが返されるということは型変換に失敗している
直接キャストして例外を拾えば何から変換しようとしたか分かるから試せ
あとnew MovieClip()はいらんだろ
よくわかってないやつが書いてるような中途半端なサイトは参考にするな
外部swfのロードなんてlivedocsにもサンプルが転がってるわけだし
80:61
08/07/19 12:36:51 c8rCFT/w
loader.contentもnullでしたorz
ってことは読み込み時に失敗してるってことっすよね。
でもtrace(xmlPath);でtest.swfとちゃんと値は入っているのですが・・・。
ちなみにtest.swfのファイルの設置場所は下記のとおりです。
[AS]
D:\Flash\src\as3\SWFLoad.as
[SWF]
D:\Flash\test.swf
D:\Flash\sample.swf
81:61
08/07/19 12:44:34 c8rCFT/w
>>79
livedocs参考にして書いてみた。
===========================================
package src.as3{
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class SWFLoad2 extends Sprite {
public function SWFLoad2(swfPath:String){
var request:URLRequest = new URLRequest(swfPath);
var loader:Loader = new Loader();
loader.load(request);
addChild(loader);
}
}
}
===========================================
エラーなく通った!!でも外部swf再生されない・・・orz
swfの参照先は>>80と同じなんですけど、このパスの指定方法ってだめなんすか?
よくわからん・・・・・。
82:Now_loading...774KB
08/07/19 21:59:16 OqFtwf1a
>>76
さんきゅう。
う~ん、1フレずれるのかあ。。。
83:61
08/07/20 00:09:45 w3L7cTKp
質問です。
コンストラクタで返り値を取得したいんですけど、どうすればいいんですか?
package src.as3{
public class testReturn{
public function testReturn():Boolean{
var flag:Boolean = false;
return flag;
}
}
}
回答おね
84:Now_loading...774KB
08/07/20 00:18:37 yt/d2iXa
コンストラクタは戻り値は返さん
コンストラクタ内で処理した値見たかったら
変数に値入れてそれを後から参照しろ
もういいから
本買うなり基本教えるサイトなり
超基本スレ行け
85:Now_loading...774KB
08/07/20 08:18:37 MIJKU1I4
livedocs一度全部読め
86:Now_loading...774KB
08/07/20 11:28:49 Bbd96xxA
俺の予想では、61はコリン・ムック。
87:Now_loading...774KB
08/07/20 15:50:25 86TDyYv4
61はJavaプログラマに1ペソ
88:Now_loading...774KB
08/07/20 19:50:17 3zw84w+O
こんな低レベルでJavaプログラマと言えるのかどうか
89:Now_loading...774KB
08/07/20 21:55:23 8BTeS3fg
Aはこの3通りの繰り返しを持つ
1.空白
2.AA
3.cAc
Aは1~3をランダムに実行するものとし、全てを合計して20回Aの次をランダムに選んだらプログラムは終了する(もちろんうまく1が選ばれれば20回もいかずに終わる)。
その結果を表示するプログラムをお願いします。
90:Now_loading...774KB
08/07/20 21:57:27 3zw84w+O
その前に文章を日本語に翻訳してからもう一度質問してもらえますか?
91:Now_loading...774KB
08/07/20 21:58:46 8BTeS3fg
20回で自動的にプログラムが終了するので、Aとcの文字列ができる場合があります
92:Now_loading...774KB
08/07/21 00:18:56 Q2//RK2W
AS3でByteArrayのcompress、uncompress以外に圧縮処理をする方法ってありますか?
93:Now_loading...774KB
08/07/21 00:30:04 M7FDRJhn
>>88
書き方がJavaPGあがりっぽかったからなんとなくね
94:Now_loading...774KB
08/07/21 01:04:13 PiCsFE2U
コンストラクタの返り値とか言う人が Java あがりとはこれいかに
95:Now_loading...774KB
08/07/21 01:22:17 M7FDRJhn
>>94
そこに関しては同感
つーかコンストラクタで返り値返せる言語ってないような希ガス
96:Now_loading...774KB
08/07/21 02:53:52 EwyO36/F
コンストラクタの戻り値はインスタンス
97:Now_loading...774KB
08/07/22 23:11:01 BbNzRPpm
>>94
ごめん。
ちょっと「じゅん(^_^)V」の反応を試した。
どっちでもなく中立なのが分かって安心した。
それでも今後反発する人に関しては知らん。
98:Now_loading...774KB
08/07/23 01:12:51 lFK78v7b
as3です。
一枚の巨大な画像があるとします。
横2000px 縦500pxというサイズです。
そのどこでもいいから、クリックしたら、
クリックした場所にズームするという処理をしたい場合、
どのようにしたらいいでしょうか。
一枚ものの画像なので、
中心点だけを毎回クリックするたびにクリックされた場所を
中心点とすれば単純にスケールを変えればうまくいきそうですが、
中心点は常に画像の中で決まっているので、どうしたものかと悩んでます。
何か別の方法はありますでしょうか。
99:Now_loading...774KB
08/07/23 06:05:08 FEFC7t5B
FlashDevelopでflパッケージを使いコンパイルする方法はどうしたら良いですか?
GlobalパスにFlashDevelopのライブラリ内にあるflフォルダを入れてコードアシストは出るようになったのですが
コンパイルで「Error: 定義 fl.transitions が見つかりません。」となります。
教えてエロい人!
100:Now_loading...774KB
08/07/23 07:58:40 oqQeDPIW
>>99
URLリンク(blog.7to3.net)
の2参照
101:Now_loading...774KB
08/07/23 08:05:47 oqQeDPIW
そいや,videoでflv使う際にバッファリングする箇所を指定って出来るんですかね?
たとえば,360secの映像のうち,30secから40secまでと120secから150secまで,みたいなカンジ.
102:Now_loading...774KB
08/07/23 08:15:02 JclxLIkJ
特定の部分だけにモザイクをかけたいのですが、
できるでしょうか?
flashでエロゲーを造っていますが、
モザイクをかける必要が出てきます。
ある形を作って、その形だけにモザイクがかかるようにしたいのです。
エロ本とかのモザイクと同じです。
例でいえばこんな感じです。
URLリンク(hakuhin.hp.infoseek.co.jp)
しかし、これだとマウスに反応するモザイクなので、使い物になりません。
知っている人がいるのなら、
ぜひ、教えて欲しいです。
103:Now_loading...774KB
08/07/23 09:02:09 NqIjq0/U
>>101
FLVPlaybackにbufferTimeプロパティってのがあるよ。何ミリ秒バッファリングするのか指定できるプロパティ。
でも、配信専用サーバー用意してないと意味無いんだよね。
普通にflv読むプログレッシブ形式だと、どのみち全部読み込むし、読み込まない部分は動かないし。
104:Now_loading...774KB
08/07/23 09:05:04 NqIjq0/U
>>102
そのページにソースまで乗ってるじゃないの。
それが分からないと無理なんじゃないかな?
モザイク固定だったら、あらかじめ描いておけば済む話なんじゃない?
105:Now_loading...774KB
08/07/23 09:17:04 JclxLIkJ
>>104
当方、素人なのでどの部分を改造したら良いのかが分からないのです。
マウスに反応するのではなく、
特定の部分だけにモザイクをかけるサンプルがあれば、
何とか理解できると思います。
106:101
08/07/23 09:19:34 oqQeDPIW
>>103
ありがとう.Red5(Flash配信サーバ)使ってるから何とかなると思う.
希望の光が見えてきたよヽ(´ー`)ノ
107:Now_loading...774KB
08/07/23 09:47:59 IjIxoyvR
>>100
FlashDevelopの"FirstRun\Library\AS3\frameworks\FlashCS3\fl"を指定したところ、
「fl\transitions\TransitionManager.as(126): col: 26 Error: 関数にボディを含めることはできません」
とエラーが出てしまいます。
他に色々と試行錯誤してflフォルダをSDK内に入れて相対パスにしたりもしてみましたが全てエラー
もう涙目です。何か間違っていますでしょうか
ちなみにFlashDevelopのバージョンは3.0.0β7です。
108:Now_loading...774KB
08/07/23 09:55:44 oqQeDPIW
>>107
flex-config.xmlの記述ミスではないでしょうか?
参考までに自分のxmlのsource-path部分をコピペしときます.
<source-path>
<path-element>C:\Program Files\FlashDevelop\FirstRun\Library\AS3\frameworks\FlashCS3</path-element>
</source-path>
109:Now_loading...774KB
08/07/23 10:21:19 IjIxoyvR
>>108
FlashDevelopのインスト先が同じなのでそのままコピペさせて貰ったんですがやはりエラーが出てしまいます。
現在SDKのバージョンは3を使用していたので、2でやってもみましたが結果は同じでした。
>>107のエラー箇所は
public static function start (content:MovieClip,
^
(↑startの所)
となっていて、同じようなエラーが大量に出ています。
ハマりすぎて仕方ないのでflパッケージを諦めて別の方法で作成することにします。
回答ありがとうございました。
110:Now_loading...774KB
08/07/23 20:31:43 IWw5Vdke
>>98
っ transform.matrix
111:Now_loading...774KB
08/07/24 22:17:04 LKk+wmbL
FlashCS3ProのAS3で質問します。
package {
import flash.display.MovieClip;
public class cMain extends MovieClip {
var strAry:Array;
public function cMain():void {
strAry=new Array("nnn","hoge","hoge");
}
function cStr():String{
var str:String;
str = strAry[0];
trace(str);
return str;
}
}
}
根本的にオブジェクト指向ってのが判ってないという者です・・・
cStr()で上で設定したstrAryの中身をいじりたいんですけど、どうやればいいんでしょうか?
他の外書きクラスからcMain.cStrって呼び出して使いたいのです。
(実際にはstrAryにはRSSのパースしたのが入ってます。)
112:Now_loading...774KB
08/07/24 22:19:39 LKk+wmbL
ようするにstr = strAry[0]; をしたいって事です。
113:Now_loading...774KB
08/07/24 23:40:05 9YFGAhAX
第34回 HTMLからFlashムービーに変数を渡してみよう:ITpro
URLリンク(itpro.nikkeibp.co.jp)
この解説ページのようにHTMLのフォームからSWF内に変数を使って文字列を送りたいのですが、
上記はAS2での解説で、AS3だとうまくいきません(FlashCS3を使用しています)
どこを変えればAS3でも動くようになりますでしょうか? お願いします
114:Now_loading...774KB
08/07/24 23:44:44 GCBaMxUl
>>111-112
クラス定義の内側で宣言した変数はメンバ変数と言われ、
基本的にクラス内のメソッドからは自由にアクセスできます
var strAryの前にそれぞれ、クラスの外部からもアクセスしたいならpublicを、
内部からのアクセスだけでよいならprivateを付けましょう
115:Now_loading...774KB
08/07/25 00:16:55 GMMixAZ6
>>114
ありがとう。
116:Now_loading...774KB
08/07/25 10:18:43 VnVDP8gP
>>114
ばかっ!外部から参照したいだけならprotectedだろっ!ばかっ!
117:Now_loading...774KB
08/07/25 10:26:46 2orjErp2
落ち付いてマニュアル読み直せw
118:Now_loading...774KB
08/07/25 11:10:12 eDPjqEov
as3でAccordionコンポーネントを使用する方法ってりますか?
普通に考えて無理だと思うし、調べてみても無理っぽい記述しかないが…。
明確な回答は見つかりませんでした。
よろしくお願いします
119:Now_loading...774KB
08/07/25 14:25:36 Gb723wB/
AS3で質問します。
function clicked(event:MouseEvent):void {}
というクリックイベントで呼び出す関数があります。
同じ関数をタイマーイベントでも呼び出したい時に()の中の
Event:○○○をどう書いたら良いんでしょうか?
同じ内容の関数を
function timerHandler(event:TimerEvent):void {}と書いてますが。
なんか違いますよね?
120:Now_loading...774KB
08/07/25 14:52:27 2orjErp2
>>119
function clickAndTimerHandler(event:Event){
trace(event.type)
}
みたいにEventクラスで受けて、必要ならばtypeの値でどんなイベントかを
判定すればいいんじゃないかな?
121:Now_loading...774KB
08/07/25 15:12:50 Gb723wB/
>>120
ああ、なるほど・・・
すげえ助かった。ありがとう。
122:Now_loading...774KB
08/07/25 15:48:00 LWrSDg+Y
//Main.as
package{
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class Main extends flash.display.Sprite{
public function Main():void{
var sub:Sub = new Sub();
addChild(sub);
}}}
//Sub.as
package{
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class Hoge extends flash.display.Sprite{
public function Sub():void{
var tf:TextField = new TextField();
tf.text = "Hoge";
tf.autoSize = TextFieldAutoSize.LEFT;
addChild(tf);
}}}
AS3です。
なぜ、文字を表示するのにaddChild(sub)をする必要があるのでしょう。
Subで既にaddChildを行っているのでそれだけで十分だと思うのですが。
Subで音楽を鳴らす場合は、addChild(sub)をしなくても鳴らせます。
123:Now_loading...774KB
08/07/25 15:49:43 VnVDP8gP
>>117
僕が悪かったですごめんなさい
124:Now_loading...774KB
08/07/25 15:50:24 LWrSDg+Y
すいません、↓のHogeはSubです。
public class Hoge extends flash.display.Sprite{
125:Now_loading...774KB
08/07/25 16:24:39 Gw/20vnf
>>122
例えば
Subというウィンドウにテキストが表示されてても、そのウィンドウが画面に表示されてなければテキストは見えないでしょう?
音楽は、その音楽を鳴らしているウィンドウが存在していれば、画面に見えて無くても聞こえるでしょう?
分かりづらいかな・・?w
126:Now_loading...774KB
08/07/25 17:54:37 LWrSDg+Y
>>125
ありがとうございます。
package(class)の違いで、別ウィンドウが存在するんでしょうか。
音楽の方はなんとなく分かりました。
127:Now_loading...774KB
08/07/25 19:02:12 c6UsrShW
表示域は常にひとつです。トップレベル、この場合Mainがその表示域のベースとなります。
表示域とは演劇でいうステージです。意図的に照明(visible)を切り替えない限り常に見えます。
addChildはこのステージに背景や演者を設置する手段です。
newで生成した段階ではまだ舞台袖にいる段階で、ステージ上にはいないので見えません。
しかし音楽はステージ上にいなくても聞こえますよね。
さて、次に文字ですが、この場合Subを木、文字を木の実として考えましょう。
木の実を木に対してaddChildすると、木には木の実が配置されます。
しかし木自体がまだ舞台袖にあり、ステージ上に無いので見えません。
木(Sub)をステージに設置(addChild)して、初めて木の実もステージに登場するわけです。
128:Now_loading...774KB
08/07/25 20:09:06 LWrSDg+Y
>>127
ありがとうございます。
なるほど、すごく分かりやすく理解できました。
129:Now_loading...774KB
08/07/26 00:23:47 l/QqDgBv
AS3swfファイルを起動すると、まず、
スタートパッケージのコンストラクタの処理をするのは分かったのですが、
その後、プログラムの位置はどこにある状態なのでしょう。
C言語のwhile待ちやWin32APIのGetMessageに当たるものです。
スタートパッケージの始めの部分で待っていて、
マウスが押されたりすると、スタートパッケージ内に
mouseDownHandlerなどが無いか探し、
無ければまたスタートパッケージの始めの部分で待っている感じでしょうか。
130:Now_loading...774KB
08/07/26 00:53:58 6N/EnPDD
イベントドリブンを理解しましょう
131:Now_loading...774KB
08/07/26 01:09:41 dygQBh9z
>>129
他の言語から移ってくると気持ち悪く感じるかもしれないけど
メインのループ処理は完全に隠蔽されてる
あえて言うなら FlashPlayer の中だけど
普通の開発者はそれを意識する必要が全くない
もしスレッドループ的なものが必要なら
Event.ENTER_FRAME や Timer のイベントを使う
132:Now_loading...774KB
08/07/26 07:33:41 l/QqDgBv
ありがとうございます。
>>130
Win32APISDKと比べると↓な感じでしょうか。
スタートパッケージ == コールバック関数
スタートパッケージコンストラクタ == WM_CREATEメッセージ
addEventListenerで登録した物 == WM_LBUTTONDOWNなどの各メッセージ
>>131
普通の開発者はそれを意識する必要が全くない
というのはなんとなくは分かっていたんですけど、
new、addChildしたものが開放される(する)タイミングが分からなくて、
プログラムの流れが気になりました。
133:Now_loading...774KB
08/07/26 13:40:41 gkEZz+dm
>>132
イベントドリブンやGCなんてのはActionScript固有のものでもないし、
どちらかというと最近では主流になりつつあるものだから、
そっちについて個別に学んだ方が理解が深まると思うよ。
C使いだったならC#と比較してるサイトいっぱいあると思うから。
134:Now_loading...774KB
08/07/26 14:45:54 l/QqDgBv
>>133
ありがとうございます。
なるほど、C#を少しかじって理解を深めたいと思います。
135:Now_loading...774KB
08/07/26 23:12:25 ujU4TWfq
1・外部XMLファイルをプログレスバーを表示してローディング→2・Tweener等を使ってサイト名表示等のアニメーション演出→3・XMLファイルデータを元に外部jpgを読み込み表示
といったflashをタイムラインを使用せずAS3で作成してあり、2の処理中に3へ処理をスキップする機能を持つスキップボタンを付けたいと思っているのですが
どのように考えれば良いかが上手くつかめません、2のスクリプト処理中の流れを割り込み(2で作られた演出用のスプライト等を削除し)3へ移動させる?というのは
どういった処理を行えばいいのでしょうか?
136:Now_loading...774KB
08/07/28 16:32:11 VNCXamqf
as3です。
同一ディレクトリ内にある別のasファイル(VideoLoader.as)の中の変数(_hoge:uint)を
別クラスのBtnsClass.as内のスクリプトで、「参照&書き換える」には、
どのようにしたらいいでしょうか。
VideoLoader内でpublicで変数を宣言しています。
BtnsClass内のコンストラクタです。
VideoLoader._hoge = 5; では駄目でした。
VideoLoader._hogeにも型宣言するのはおかしい気がするし、
publicで指定しているのになぜアクセスできないのか、、、
かなり悩んでます。
137:Now_loading...774KB
08/07/28 17:44:22 SuSWJ2Co
AS3で静的コンストラクタみたいな
使い方ができるものがありましたら教えてください。
138:Now_loading...774KB
08/07/28 18:09:46 1fUSat/w
>>136
URLリンク(livedocs.adobe.com)
>>137
URLリンク(www.trick7.com)
139:Now_loading...774KB
08/07/28 19:09:09 QYVJsqYm
マスクの下にあるムービークリップにattachMovieしたオブジェクトがマスクされません
回避方法としてはどういうものがありますか?
140:Now_loading...774KB
08/07/28 20:13:36 Gexl2UAW
aaa.swf内でbbb.swfをloadVariablesで読み込んでいるんですが
bbb.swfで記述しているsendAndLoadに対するonLoadイベントが発生しない状況になっています。
bbb.swfを単体で表示させるときちんとonLoadイベントは発生しているのですが
なにか問題があるのでしょうか?
またonLoadイベントが発生していないだけで表示は問題ありません。
aaa.swf内
_root.loadVariables("../menu/menu.txt");←これにbbb.swfパスが書いている
こんな感じです
&content1=../menu/bbb.swf&
bbb.swf内
var send_lv:LoadVars = new LoadVars();
var recv_lv:LoadVars = new LoadVars();
recv_lv.onLoad = function(){←aaa.swf経由で表示させると、こいつが走らない
trace("data");
};
send_lv.sendAndLoad("URLリンク(aaaaa.com)",recv_lv, "POST");
どなたかすみませんが教えて頂けませんでしょか
141:Now_loading...774KB
08/07/28 21:35:54 TxBAy1NH
var senddata:URLVariables = new URLVariables();
senddata.cmd = "cmd";
senddata.key1 = "001";
senddata.key2 = "002";
trace("##########: "+inkdata.toString());
とやったとき、traceの結果がころころ変わります。
cmd=cmd&key1=001&key2=002
だったり
key1=001&cmd=cmd&key2=002
だったり。
毎回
cmd=cmd&key1=001&key2=002
とサーバー側で受け取る方法ってないですかね?
142:Now_loading...774KB
08/07/28 23:17:43 XO5DuyEj
as2で作ったswfをas3で読み込んだらloader.contentがnullになってしまいます・・・
これってどうすればいいんでしょうか
ちなみにas2のflaファイルはもうないんです
143:137
08/07/29 00:22:15 Z0cq8PeP
>>138
ありがとうございます。
144:Now_loading...774KB
08/07/29 00:58:41 S+kplSAU
>>140
そもそもbbb.swfはどうやってロードしてるの?
145:Now_loading...774KB
08/07/29 09:26:28 DZacUpsR
>>139
マスクはどうやって作ってるの?
attachMovieは正の深度だよ
>>142
fla無いならAS3への移行できんからAS2で読み込んで処理する
146:Now_loading...774KB
08/07/29 17:29:01 Np3YCmwO
質問です。環境:AS3, Flex3
Q:デフォルト値が設定されている引数が複数あるとき、n番目の値だけ指定して、他を省略する事はできますか?
例:function fの呼び出しでarg4の値だけ指定したい
function f(arg1:int=0, arg2:int = 1, arg3:int = 3, arg4:int = 4):void
{
trace(arg1,arg2,arg3,arg4);
}
VBのCall f(arg4:=40)みたいなことは出来ないでしょうか
147:Now_loading...774KB
08/07/29 19:06:49 3ZXx5RAK
>>146
argumentsオブジェクトを使うといいかも。
148:Now_loading...774KB
08/07/30 13:04:03 /jifwed9
AS3です。
addChildの反対のdeleteChildみたいなのがありましたら教えてください。
149:Now_loading...774KB
08/07/30 15:13:37 cdPPc+ee
>>148
removeChild
答えた代わりに一つ聞きたいんだけど、この程度のことググった方が早くない?
どうしてわざわざ聞こうと思ったの?煽りとかじゃなくて。
150:Now_loading...774KB
08/07/30 15:29:53 /jifwed9
>>149
ActionScript3 + addChild + (反対 or 開放 or deleteChild)
あたりではググっていたのですが見つけられませんでした。
また、newに対するdelete、コンストラクタに対するデストラクタ
がない(行われるタイミングが分からない)というのもあって、
addChildの反対のものも無いのでは
という気持ちがいけなかったのかもしれません。
151:Now_loading...774KB
08/07/30 16:28:12 cdPPc+ee
なるほどね。とりあえず今後はLiveDocsのリファレンスガイドを活用するといいよ。
すべてのクラスとそのメソッドについて一覧と説明があるから、
そこを順番に見ていけば基本的なことの大半は解決するはず。
それからGoogleも単なる道具だから、使う側が工夫する必要もある。
「ActionScript3」の部分でAS3の情報に絞ったつもりだったんだろうけど、
ネット上のドキュメントはどちらかというとActionScript 3.0といった表記の方が多いんだよね。
例えばそこを変えただけでも(ActionScript 3.0 addChild)、LiveDocsが最初に引っかかるし。
あとremoveChildのことを「addChildの反対です」と表現してることってほとんどないし、
どういう書かれ方をしてるか予測して検索した方がより正解にたどり着きやすくなると思うよ。
152:Now_loading...774KB
08/07/30 16:43:23 yG5n5h/q
リストに対する追加/削除はadd<->remove
newに対する機能はdispose、ただしgcにまかせていいクラスならdisposeは存在しない
AS3に限らず最近のフレームワークはみんなこんな感じ
153:Now_loading...774KB
08/07/30 17:44:43 s39ND9NC
AIR1.1になって、IME.enabledを設定してもIMEのオン、オフができなくなってしまったのだけど、解決方法を知っている人いませんか?
AIR1.0では問題無くオン、オフできるのだけど。
154:Now_loading...774KB
08/07/30 18:37:00 /jifwed9
>>151>>152
すごく勉強になりました。
次に質問させていただくときには、気をつけたいと思います。
ありがとうございました。
155:Now_loading...774KB
08/07/31 19:29:34 e2PUWTO5
ある日数の範囲(例:20080801~20080930)と
ある日数の範囲(例:20080815~20081031)に
重なりがあるかどうかを判定するにはどうしたらよいでしょうか?
156:Now_loading...774KB
08/07/31 20:13:03 ayqNwGZU
Date.timeで数値としての日時が取得できるから、それを比較すればおk
157:Now_loading...774KB
08/07/31 20:16:17 VgsN3smr
>>155
期間A→A1~A2
期間B→B1~B2
とすると、重なるのは
■A1------------A2
■ B1------------B2
■A1-------------------------A2
■ B1------------B2
■ A1------------A2
■B1-------------------------B2
■ A1------------A2
■B1------------B2
なので、A1<B1<A2またはB1<A1<B2の時重複してると言える。
if ( (A1 < B1 && B1 < A2) ||
( B1 < A1 && A1 < B2 ))
trace("重複");
これでどう?質問の本質を理解してないかも。
158:Now_loading...774KB
08/07/31 22:57:29 e2PUWTO5
>>156-157
ありがとうございます! なるほど、こういう考え方がありましたか。
これでうまく行きそうです。とても助かりました!
159:Now_loading...774KB
08/08/01 05:06:42 bQNbnEXo
NetStream.onStatusについての質問です。AS2です。
FLV が見つからない場合の"NetStream.Play.StreamNotFound"なんですが、
ローカルでは取得できるのですが、サーバー上だと取得できません。
しかもそのまま放置するとフリーズに近い状態になってしまいます。
よろしくお願いしまいます。
コード:
var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
my_video.attachVideo(stream_ns);
stream_ns.play("video1.flv");
stream_ns.onStatus = function(infoObject:Object) {
if(infoObject.code == "NetStream.Play.StreamNotFound"){
messageText.text = "NetStream.Play.StreamNotFound";
}
};
160:Now_loading...774KB
08/08/01 06:40:21 bQNbnEXo
すいません自己解決しました。FC2サーバーだと取得できないみたいです。
161:Now_loading...774KB
08/08/01 14:22:38 +cQsqCyi
AirのSQLiteで、人名などの日本語のデータをサーチできなくて困ってます
sql.text = "SELECT * FROM daisy_task WHERE Task == 山田太郎"
みたいにするとエラーが帰ってきてしまいます どうしたらよいですか
162:Now_loading...774KB
08/08/01 14:29:30 //GSIzui
SQLiteはよく知らんが普通検索文字列は"とか'で囲むんじゃね
'山田太郎'とか
163:Now_loading...774KB
08/08/01 14:34:31 +cQsqCyi
>>162
はや!助かります
sql.text = "SELECT * FROM all_task WHERE Task == '山田太郎'";
これでやってみてもだめでした
164:Now_loading...774KB
08/08/01 15:18:00 +cQsqCyi
すみません、ご指摘の方法で出来ました
データベースの方がおかしかった模様
ごめんなさい
165:Now_loading...774KB
08/08/01 15:35:58 GEbgJ/jt
二次元配列を利用して、目標の座標へ移動する為に、どのような記述をすれば良いか困っています。
hitTable = [
[0,0,0,0,0]
[0,1,1,1,0]
[0,0,2,0,0]
[0,1,1,1,0]
[0,0,0,0,0]
]
上の配列は簡単なものなのですが、0が移動可能領域、1が壁、2が目標座標といった感じです。
移動させる物は四隅([0][0]、[0][4]、[4][0]、[4][4])のいずれかからスタートし、1座標ずつ目標座標へ近づき移動したいのですがスタート位置がランダムな為、記述方法がいくら考えても思いつきません……。
良ければどうか皆さんの知恵を貸して頂ければ助かります。
166:Now_loading...774KB
08/08/01 16:23:32 dROoT5DI
それはASじゃなくてアルゴリズムの問題だよね?
ゲ製作技術とか行った方がいいんじゃないかな
もしくは経路探索アルゴリズムとか最短経路問題でググるといいと思う
167:Now_loading...774KB
08/08/01 17:02:19 WDMpy2el
環境AS3です.
flvを切り貼りするようなソフトを作ろうと思っているんだが,それ系のライブラリってあるぽ?
無いとしたらどうやって編集すればいいんだろ?
RichFLVがある以上は編集不可能ではないと思うんだが・・・.
168:Now_loading...774KB
08/08/01 18:08:59 78kX3edD
>>167
板違いです。
言語は何か知りませんがプログラム板にでもいってみては?
169:Now_loading...774KB
08/08/01 18:19:46 GEbgJ/jt
>>166
そうですね。アドバイスありがとうございました。
170:Now_loading...774KB
08/08/01 18:29:45 ee8nRpht
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)
hitTest()動作で質問です。
root上に2つのMC(mc1, boarderM)を置き、mc1はドラッグ移動が可能にしています。
boarderMは線状のMCで、これにmc1がドラッグ移動で右方向から当たった時、mc1の
X座標が増分される、つまり壁に当たって弾かれる動作をしたく思っています。
フレームアクションのASは以下の通りです。
this.onEnterFrame = function() {
if (this.mc1.hitTest(this.boarderM) == true) {
this.mc1._x = +1;
}
しかしこれだと、右方向から当った瞬間、mc1がrootの原点に飛んでしまいます。
アドバイス願います。
171:Now_loading...774KB
08/08/01 18:35:09 rILae5AR
AS2です。テキストフィールドにhtmlを読み込んで表示させています。
画像とテキストがあり、全てセンタリングしたいのですが 画像ができません。
ヘルプにはイメージタグのalignはleftとrightしかないと書いてあるのでalignでは
できないようですが、方法はないでしょうか?
172:Now_loading...774KB
08/08/02 00:42:40 RQJa+joB
>>171
スレチ
173:Now_loading...774KB
08/08/02 15:49:27 1+9B9CRx
>>170
よくわかんないけど、
this.mc1._x = +1;が
this.mc1._x += 1;の間違いなんじゃないか?
174:Now_loading...774KB
08/08/02 19:22:12 PD6WxBMs
同じムービークリップをたくさん複製するとして、
そのムービークリップの1つのフレームアクション内で同じ処理を何度も記述する場合、
その処理をfunctionを使って定義したらしないのよりその分メモリ余計に使いますか?
functionを使って記述した方が見やすくて修正も簡単ですが、少しでも処理が遅くなったりするのなら使わない方が良いしどうでしょう。
175:Now_loading...774KB
08/08/02 19:43:15 NJ437UpZ
>>174
関数呼び出しは確かにオーバーヘッドが生じますが、
コードの量によってそうした方が全体的なコストが下がる場合もあります
結局は内容次第なので、自分で計測してより良い方を選択するのがいいと思います
ただ、正直な話、それを自分で判断できないレベルではどっちにしても大差ない気もしますし、
Cみたいな言語で速度を追求したい場合ならともかく、ASなら普通は関数にまとめた方が良いと思います
176:Now_loading...774KB
08/08/02 20:19:45 PD6WxBMs
>>175
レスありがとうございます。大きな差がないか自分で確かめてみます。
それともう一つ質問なんですが、deleteを使って複数の変数、たとえばa、b、cを削除する場合、
delete a;
delete b;
delete c;
とdeleteを何度も書かずに、1つにまとめて削除する方法はありませんか?
177:Now_loading...774KB
08/08/02 22:40:26 ZZ2Wq4Gj
環境:
OS=Win XP SP3; Soft=Flash CS3 Pro;
パブリッシュ=ver.9+AS3.0; Player=9,0,115,0と9,0,124,0の両方で確認
TextFormatについての質問です。
Font.enumerateFonts(true)を利用して、その環境で使えるデバイスフォントを取得し、
あるTextFieldでそのフォントを使うようにし、その後適当な文字列を打たせて表示させたいのですが、
何故か一部のフォントはMS ゴシックらしきフォントが表示されます。(その現象が起きるフォントは固定)
ver.8+AS2.0環境で似たような処理をさせるとうまく表示できるのにver.9+AS3.0では出来ませんでした。
フォントを入れなおしたり、Playerを入れなおしてみたのですがそれでも駄目でした。
どのようにすれば、うまくデバイスフォントを表示させることが出来るのでしょうか。
次のレスにソースを置いておきます
178:177
08/08/02 22:43:44 ZZ2Wq4Gj
import fl.controls.List;
import flash.text.Font;
var Font_list:List= new List();
stage.addChild(Font_list);
var tmpFontArray:Array = Font.enumerateFonts(true);
tmpFontArray.sortOn("fontName",Array.CASEINSENSITIVE);
tmpFontArray.unshift({fontName:"_明朝"});
tmpFontArray.unshift({fontName:"_等幅"});
tmpFontArray.unshift({fontName:"_ゴシック"});
tmpFontArray.unshift({fontName:"_typewriter"});
tmpFontArray.unshift({fontName:"_serif"});
tmpFontArray.unshift({fontName:"_sans"});
var fontData:String;
var l:uint = tmpFontArray.length;
for each (var item:Object in tmpFontArray) {
fontData = item.fontName;
Font_list.addItem({label:fontData, data:fontData});
}
Font_list.selectedIndex = 0;
Font_list.scrollToIndex(0);
var myTextFormat:TextFormat= new TextFormat(Font_list.selectedItem.data,40);
var myTextField:TextField= new TextField();
myTextField.type= TextFieldType.INPUT;
myTextField.border= true;
myTextField.defaultTextFormat= myTextFormat;
myTextField.text= "ここに文字を入力";
stage.addChild(myTextField);
Font_list.addEventListener(Event.CHANGE, changeListener);
function changeListener(msg:Event):void {
myTextFormat.font = Font_list.selectedItem.data;
myTextField.setTextFormat(myTextFormat);
}
179:Now_loading...774KB
08/08/03 02:06:02 CWzh0Cgs
変数aの値によって参照する変数を変えたいのですがどのように変数を指定してあげればよいのでしょうか。
変数aに11と入っているとして ~~11 aに5が入っていれば~~05のようにしたいのです。
配列では~~[a]としてやれば出来ることは知っていますが、配列は使いたくありません。
180:Now_loading...774KB
08/08/03 02:41:20 fj3QYjTq
>>179
なんで配列使いたくないんだ?
ま、いいけど、配列アクセス演算子すら使いたくないのか?
181:Now_loading...774KB
08/08/03 02:47:24 Tf1D/DVT
this["hoge"+a]
aをゼロ詰めにする方法は宿題なっ!
182:Now_loading...774KB
08/08/03 14:05:03 CWzh0Cgs
>>180
>>181
亀レスすいません。
配列を使いたくないのは hoge[11]まで作ってしまうと hoge[4]など値を入れる予定の無い所まで作ってしまうので、
無駄が大きくなってしまうと思ったからです。
配列アクセス演算子ですか。勉強になります。
var a:int = 5;
var hoge5:String = "five";
var hoge11:String = "eleven";
var result:String = this["hoge"+a];
こうしてresultをTextFieldで表示。。。
これじゃダメなんですか。
resultを"a"と直接文字列を入れてあげればaが出ますし、
"a "+ this["hoge"+a]としてやると何も表示されなくなります。
Cを少しかじった程度ではオブジェクト指向プログラムは難しい。
183:Now_loading...774KB
08/08/03 14:50:38 qZg6COc7
>>182
>値を入れる予定の無い所まで作ってしまうので
それって設計自体間違ってるってことじゃね
184:Now_loading...774KB
08/08/03 14:57:09 k9av+oUF
>>182
traceしてみたら?
185:Now_loading...774KB
08/08/03 15:02:16 788UyqU8
>>182
trace(result)すると、ちゃんとfiveって出るけど?
何が問題なの?
186:Now_loading...774KB
08/08/03 15:04:59 t7BaF4rW
一通りの事ができるようになってから
無駄な部分を省くようにしていった方がいいな。
色々やってるうちに別の方法が見つかるのは良くあるので。
187:Now_loading...774KB
08/08/03 17:13:24 KKvHJLAf
>>182
結局のところ何がやりたいの?
小出しにせずにやりたいことを書いた上で詰まってるところを書いた方が自分のためだよ
188:Now_loading...774KB
08/08/03 18:45:28 fIylDXIM
>>173
そうでした・・・・ Orz
189:Now_loading...774KB
08/08/04 17:23:30 +RokT2ah
指定した小数の位以下の値を四捨五入する方法ってありますか?
例えば、少数点第二位以下を四捨五入して、0.59721を0.60000にするようなものです。
190:Now_loading...774KB
08/08/04 19:13:48 Uv7AQ0bo
掛け算
191:Now_loading...774KB
08/08/04 23:34:33 wky3oNs6
AS3での正規表現の部分がよく判らないので質問します。
<div>~</div>のパターンマッチングをしたいんですが
var pattern:RegExp =/<div>*<\div>/
上手くいかないので教えてください。
192:Now_loading...774KB
08/08/05 09:17:55 aJYgCtu2
>>189
var num:Number = 0.59721;
trace(Math.round(num * 10)/10);
>>191
ヘルプの正規表現の部分を読む
サンプルもいっぱい載ってる
193:Now_loading...774KB
08/08/05 10:00:53 +l0TUmad
>>191
正規表現はワイルドカードとは違います
<div>.*</div>
ドットは任意の一文字
アスタリスクは一つ前の文字が0個以上連続する文字列を表します
また\はメタキャラクタと言って、その後ろに続く文字によって意味が変わります(スラッシュを意味するわけではありません)
AS3のヘルプ中バックスラッシュで表記してあるのがこれにあたります。
> <div>*<\div>
の場合、\dは数字の0~9のいずれかを意味するので、パターン全体としては
"<div"に続いて">"が0個以上連続して続いた後"<"が現れ、続いて0-9の数字の後"iv>"が来るような文字列にマッチします
すなわち
<div>>>>>><0iv>
のような文字列にマッチします
「AS3での正規表現」と書いていますが、正規表現そのものを勉強した方がいいです。
よってスレ違い
194:Now_loading...774KB
08/08/05 18:46:53 wSZFqz11
AS3で、Localにある複数の外部SWFを読み込む処理を作成しています。
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, LoadComplete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, LoadIOError);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, LoadSecError);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS , LoadProgress);
loader.load(new URLRequest(hoge), new LoaderContext(false, ApplicationDomain.currentDomain));
以上の処理を実行してCOMPLETEまたはERRORが発生したら、次のファイルで同様の処理を繰り返すということをしています。
たいていは上手くいくのですが、たまに(20回に1回程度)処理が止まってしまいます。
PROGRESSイベントを監視すると、データの読み込みは完了しているのに、その後何もイベントが起こっていないようです。
何もエラーらしきものを出さないので途方に暮れています。
考えられる原因はないでしょうか?
195:167
08/08/05 20:27:41 aTLY0McM
返信が遅れて申し訳ありません.>>167です.
>>168
言語はActionScript3.0です.
現在,ActionScriptを用いてFLVを編集するようなツール(ウェブ上のFLVを読み込んで編集し,吐き出しを行う)を制作したいと考えています.
そのために,適切なライブラリがあるのか聞きたかったのです.
インタフェースは後からどうにでもなるとして,FLVの一部を切り取ったり張り付けたりするのに適当なライブラリはありませんか?
すでに自力で調べ尽くして有りそうにない,と感じたので最後の頼みの綱として皆様の知恵をお借りしたいと考え,質問させていただきます.
196:Now_loading...774KB
08/08/05 21:09:29 kPitZFlV
ActionScript2です。
変数「a」に「こんにちは」を含む言葉が入ってる時に、
変数「b」に「おはよう」を代入のようにしたいんですけど、
エクセルのワイルドカード()曖昧検索のような事は出来ませんか?
197:Now_loading...774KB
08/08/05 21:18:53 qOBZSTWn
>>196
String.indexOf()使う
198:196
08/08/05 21:20:59 kPitZFlV
>>197
ありがとうございます。
199:Now_loading...774KB
08/08/05 21:25:26 aWUcR5nV
>>195
ffmpeg等の既存のライブラリを移植する以外に方法はないと思う
オープンな仕様だから仕様書読み漁って新規に作り上げるという手もあるけど、
正直なところ前者も後者も君のスキルでは無理だと思う
200:Now_loading...774KB
08/08/05 23:43:16 unbSDsE5
>>194
都度Loaderをnewしているなら
処理完了後にremoveEventListenerしてやらないと
Loaderオブジェクトが残ったままになるぞ。
それが直接の原因か分からんが
201:Now_loading...774KB
08/08/06 01:25:17 T28867CU
action script3で、
クラス間の変数の送受信は何でやればいいですか?
202:Now_loading...774KB
08/08/06 07:33:38 1Qj0tU1G
>>201
何でやればっていわれてもやり方はいっぱいあるし、やりたいことによって
ベストの方法は変わるから回答しようがないw
203:Now_loading...774KB
08/08/06 11:27:00 GaJWcf/x
>>194
それってFirefoxだけに起きる現象ではないでしょうか。
COMPLETEイベントが発生しないで読み込みが完了する場合があるようです。
PROGRESSイベント内で完了しているか判断してやるといみたいですよ。
204:Now_loading...774KB
08/08/07 01:33:02 AI5Lffy4
------------------------------------------------
mcMother ┬ mcChild1 - mcGrandchild1
└ mcChild2
------------------------------------------------
上のような親子関係で
removeChild(mcMother)した時に
各子、孫には
this.addEventListener(Event.REMOVED_FROM_STAGE , onRemoveStage )
function onRemoveStage(event){
trace(event.target)
}
で削除を監視させておいた場合
mcChild1はEvent.REMOVED_FROM_STAGEが起きて、Traceされますが
mcChild2 , mcGrandchild1はTraceされません。
removeChild(target)
target以下のすべてにEvent.REMOVED_FROM_STAGEがいきわたる方法
もしくはヒントをいただけないでしょうか。
よろしくお願いします。
205:194
08/08/07 11:26:46 ODepELPj
>>200
意外なところで過去に作ったアプリのメモリリークの原因が分かりました。
>>203
そんなことがあるんですねー。
COMPLETEとERROR関連のリスナーを登録していれば、どれかが必ず呼ばれるという前提で、
ソフトを組んでいたのですが甘かったようです。
ありがとうございました。
206:Now_loading...774KB
08/08/07 13:20:40 KxwulJ5Y
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)
ラジオボタンのプロパティ変更(色変更)で質問です。
○選択1
というラジオボタン(MC名:radioBtnM1)で、○内の背景が灰色,「選択1」を赤色に
したく思い、MCのイベントとして下のASを書きましたが色が変更されません。
onClipEvent (load) {
this.setStyle("themeColor", 0xCCCCCC);
this.setStyle("Color", 0xFF0000);
}
ヘルプや、本「Flash ActionScript 逆引き大全550」(秀和システム)などを読みましたが
問題点が分かりません。
アドバイス願います。
207:Now_loading...774KB
08/08/07 13:52:17 V4FzOvxS
>>206
_global.styles.RadioButton = new mx.styles.CSSStyleDeclaration();
_global.styles.RadioButton.setStyle("themeColor", 0xCCCCCC);
_global.styles.RadioButton.setStyle("color", 0xFF0000);
これタイムラインに書いておけばいいと思う
208:Now_loading...774KB
08/08/07 19:58:06 KxwulJ5Y
>>207
さんきゅう。出来ました。
日本負けた・・・
209:Now_loading...774KB
08/08/07 23:35:22 FK5zdC5Z
質問させてもらいます。
private function init(){
var req:URLRequest = new URLRequest(filePath);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressHandler);
loader.load(req);
}
private function progressHandler(event:Event):void{
trace(event.bytesLoaded);
}
上のような形でロードされたバイト数を表示しようとしたのですが、
bytesLoadedが未定義だといわれてしまいます。
ちなみにeventをtraceすると下のような出力結果が出てきます。
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=0 bytesTotal=28302]
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=28302 bytesTotal=28302]
どうすればbytesLoadedを表示できますか?
回答お願いします。
210:Now_loading...774KB
08/08/08 00:42:00 Afnpz4ry
>>209
progressHandler(event:Event)じゃなくて(event:ProgressEvent)じゃーい
URLリンク(livedocs.adobe.com)
ここの一番下のサンプルでもみやがれい。
読まず嫌いが多いだろうがどんな本よりサイトより
最終的にはヘルプのリファレンス見ることになるから
リファレンスで調べるクセをつけたほうがいいよ。
元々英語のを翻訳してるようだから時々怪しい日本語とか間違いとかあるけど。
211:Now_loading...774KB
08/08/08 01:08:11 tjd5bG7m
>>210
オーマイガッ
ありがとうございました。
212:Now_loading...774KB
08/08/08 11:46:57 ArlCqhai
環境:FlashCS3
パブリッシュ:ver8、AS2
mcにonClipEvent (mouseDown)でstartDragして、ドラッグできるようにしています。
その中にボタンのmcを置いて、getURLで別ウィンドウに外部リンクを開くようにしているのですが
その際の挙動がおかしくて困っています。
外部リンクを新規ウィンドウもしくは背面のタブで開いた場合には問題ありませんが、前面のタブに開いて
から、そのswfのあるページに戻るとstartDragが働いてしまっていて、解除できなくなります。
(ボタンMCの上にカーソルが乗った状態で、ドラッグされてしまうため、解除しようとクリックすると
リンクを開いてしまいます)
onClipEvent (mouseUp) でstopDragを指定しているため、前面にリンク先のタブが出てしまうことで、
mouseUpイベントが取得できずにこの現象が起こっていると思うのですが、対処法がさっぱりわかりません
どなたかよろしくお願いします。
213:Now_loading...774KB
08/08/08 13:22:13 3E1Lk/MU
>>212
よくわからんのだけど、
ドラッグできるMCの中にボタンがあるという時点で問題があると思う。
MCの中にドラッグできるMCとリンクボタンという構成がいいんじゃない?
ようはリンクボタンのはじっこつまんでドラッグできるみたいな感じだよね?
で、MCのフレームにこれ書けばいいはず。
dragMC.onPress = function() {
this._parent.startDrag();
};
dragMC.onRelease = function() {
stopDrag();
};
lunkBtn.onRelease = function() {
getURL("http://", "_self");
};
おれの勘違いならすまんです。
214:Now_loading...774KB
08/08/08 15:00:14 f914dON+
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)
ラジオボタンの一斉非選択で質問です。
●選択1 ○選択2 ●選択3
○選択4 ●選択5 ○選択6
最初に、6個のラジオボタンが上の状態であったとき、何らかの操作で、全部を
○選択1 ○選択2 ○選択3
○選択4 ○選択5 ○選択6
の状態にしたく思っています(全部を一斉に非選択に)。
一応、ヘルプで該当する記述を探そうとしましたが、ラジオボタンの解説記述が
予想以上に多く、探し出すことが出来ませんでした。
アドバイスを願います。
215:212
08/08/08 15:29:47 UozHMj7i
>>213
ありがとうございます。
でもたぶんちがいます…。
ドラッグできるMCの中にボタンがあるという状態はあまり良くないことはわかる
のですが、実は地図の上にポイントがあって、
ドラッグできるMC=地図
リンクボタンMC=ポイント
なので、リンクボタンも一緒にドラッグできないと困るのでこういう作りなのです。
しばらく、_selfにして回避しておいて検討します。
216:Now_loading...774KB
08/08/08 16:42:19 3E1Lk/MU
>>214
clearBtn.onRelease = function() {
for (i=0; i<3; i++) {
for (j=0; j<2; j++) {
this._parent["radioBtn"+i+j].selected = false;
}
}
};
>>215
いやいや、だからいいと思うけど。
これでしょ?
URLリンク(uproda11.2ch-library.com)
DLキー:Flash
217:Now_loading...774KB
08/08/08 16:42:46 hDGwMOIe
>>215
だから、地図MCのなかにドラッグ用の透明でも背景でもいいけどMCを置いて
>>212のスクリプトを地図MCのフレームに書けばいいんじゃないのか?
そもそもonClipEvent (mouseDown)は、Flashのどこをクリックしても発生してしまうのだから
こういう場面では使わない方がいい。
どうしてもというなら、マウスがリンクボタンの上にあるときは、ドラッグ開始しないとかの
条件をつけておく。
218:Now_loading...774KB
08/08/08 18:09:53 vvIF8lQR
ActionScript3.0でフラッシュ自体の大きさをスクリプトの実行中に変えるにはどうしたらいいですか
例えばYoutubeの全画面化ボタンは、
以前は全画面ボタンを押すと新しい大きなフラッシュのページに飛んで全画面化を実現していましたが
今のYoutubeのプレイヤーは全画面化を押すとページが切り替わらずにフラッシュのプレイヤーの大きさが大きくなります
こういう事をやりたいのですが検索をしてみても要領を得られませんでした
ご存知でしたらご教示お願いします
219:Now_loading...774KB
08/08/08 18:22:06 h2w3CNeJ
確かにYoutubeのあれはやり方気になるな どうやってるんだろう
220:Now_loading...774KB
08/08/08 18:35:54 jr28n0pH
バイトコード読んで無いけどstage.displayStateだと思うよ
221:Now_loading...774KB
08/08/08 18:36:21 gpeKBz4K
>>216
さんきゅう。
やってみます。
222:Now_loading...774KB
08/08/08 18:37:44 gpeKBz4K
あー、ワタシ221は>>214ね。
223:Now_loading...774KB
08/08/08 18:44:50 3E1Lk/MU
>>218-220
おいおい。本気か?ネタか。
めんどいからActionScript3.0 フルスクリーンでググレ
224:Now_loading...774KB
08/08/08 19:30:30 cmsjT2lO
ページが変わらないってのはjavascript担当だとおも
225:Now_loading...774KB
08/08/08 22:32:51 NY+zwkHw
adobe flash cs3を使用しています。
シークバーのついたflvファイルを制作して
無限にループできるようにしたいのですが、エラーが出たりなどで
できません。
いろんなページを見て試しましたが全てエラーでした。
ActionScript3.0です。お願いします。
226:Now_loading...774KB
08/08/09 01:34:49 0FRGYsQy
>>225
わかりました
227:Now_loading...774KB
08/08/09 02:18:49 HiRyyXNl
お前の人生がエラーだよ
228:Now_loading...774KB
08/08/09 04:18:39 G9CXWAra
>>223-224
貧乏WEB土方さんって情報遅いんですね・・・
229:Now_loading...774KB
08/08/09 15:26:15 4sJJ87jn
>Flashのフルスクリーン
ゴチャゴチャと説明すると誤解とかありそうなので
適切そうな記事を提示しておきます(Screen操作に関しては関連記事も参考になるかと)
URLリンク(www.project-nya.jp)
230:Now_loading...774KB
08/08/11 14:57:34 TsNnBnyt
Flex3、ActionScript3.0です
sprite.graphics.beginFill(0x0000ff,1);
sprite.graphics.drawRect( 0,0,100,100);
のようにして描いたものに対して、
後から特定の座標に描かれている色を調べる方法はありますか?
getObjectsUnderPointで特定座標に存在するオブジェクトを取得できる事はわかったのですが、色を調べる方法がわかりません。
実際実現したい事はspriteオブジェクトをドラッグした時に、その下の表示オブジェクト(dropTarget)の色を調べる事です。
231:Now_loading...774KB
08/08/11 15:44:01 7YGrfVOp
ぱっと思いついたものだとBitmapData.draw(sprite)してgetPixel(x, y)
232:230
08/08/11 16:43:38 TsNnBnyt
>>231
ありがとうございます。
こんな感じで実装しました。
ただこれだと、dropTargetの負の座標に存在するオブジェクトが無視されるので、ちょっと問題がありますが・・。
private var target:DisplayObject
private var usedcolor:String;
private var spriteA:Sprite;
private function onMouseMove( evt:MouseEvent ):void{
target = spriteA.dropTarget;
var bmp:BitmapData = new BitmapData(target.width, target.height, true, 0);
bmp.draw(target);
var pixelValue:uint = bmp.getPixel(target.mouseX ,target.mouseY);
usedcolor = pixelValue.toString(16);
trace(usedcolor);
}
233:Now_loading...774KB
08/08/12 22:36:54 lQlawo36
,lllii、 _,,_
.,,iilll!゙ll,,,、 __,,,,,,,,,iiiiiillll!!!lll!
.,,iill!゙°.゙゙!lii,,、 ゙゙゙゙゙゙゙゙゚゙lllll!
,,iill!゙°_,,,,,,,,,,l!lllii,,,、 llllll
,,iil!゙゙゙'llllllllllll゙゙゙゙゙゙ .゚゙!llllliii,,,,_ __,,,llllll,iiillllliii、
ill゙゙゛ _,lllll,,,,iiiiiliiil,゙゙゙゙゙゙゙゙゙゙゙" .lll!ll゙゙゙゙゙lllll ̄,,,,,,__
'lllllllll゙゙゙゙゙lllll ゙̄,ii,,、 llllll .゚゙!!llli,
'lii,,,, llll ,iill!!゙ lllll| ゙゙゙,,,,,_
゙゙!!ll llllill゙゙’__,,,,,,、 .__,,,,,,,,,,,illlllliiilllllllllll!!llllllll.
.,,,,,,,,,,,iilllllll!!lll!!!!!!!!!!!!!l! llll!!l!!゙゙゙゙゙゙゙ ̄
゙゚゙゙″
●このレスをみたあなたに金玉潰しの呪いをかけました!
今夜、あなたが寝るときや、オナヌーするとき、クラスのブサい女子が現れ、
あなたの金玉をつぶしにやってきます。
それが嫌ならスレリンク(mmo板:145-番) とその他のスレに、
「ちんぽこマーチ」という言葉と、このコピペを書き込んでください。
すると、玉潰しが現れません。
スルーしてもかまいませんが、潰されても知りません。
・・・・さあ、いざ、あなたのところにも・・・?
234:Now_loading...774KB
08/08/12 22:58:11 dgbleKql
すごい待ってる!!!!ワクワクしてきた!!!!!
235:Now_loading...774KB
08/08/13 01:02:07 VjClvpwj
flex3 で任意のタイミングでstage上のマウスポインタの位置を
取得するのってできますか?
get_mouse_pos()みたいな関数でleaveしてたらエラーを返すようなの。
236:Now_loading...774KB
08/08/13 14:31:04 +xrZIMrU
SoundMixer.computeSpectrum()を使って、グライコやりたいんですが、
何故か音より先にcomputeSpectrum()のほうに値が入ってきます。
というより、音が遅れてるのかなあ?
これを解消する方法とかありませんでしょうか。
それとも、こんなもんだと諦めるしかないのかなあ・・・
237:Now_loading...774KB
08/08/14 02:38:32 NP4Zaa8e
System.useCodepage = true;
すると未定義である可能性が高いプロパティって怒られるんだがどうしてなんだろうか。
238:Now_loading...774KB
08/08/14 03:42:49 L2ZflYIQ
useCodePageだから
239:Now_loading...774KB
08/08/14 09:57:02 BkUavTrf
>>235
stage.mouseX
ではだめ?
240:Now_loading...774KB
08/08/15 01:15:14 jcWbDfb0
>>237
久々に見たこれw
241:Now_loading...774KB
08/08/15 01:50:04 9Wa4Jo7N
DBの内容をPHPで取り込んでFLASHで表示させるということをしたいんですが
PHP→FLASHの部分で躓いてしまいます
<param name="FlashVars" value="$out"> ※$outの内容は『date0=aaa』
でFLASHに投げてFLASHで受け取りたいのですが
oTxtName.text = unescape(_root.name);
oTxtCount.text = _root.count;
zyusin1=date0; ※zyusin1はダイナミックテキスト
と記述したのですがうまくいきません
どうすればよいでしょうか?
242:Now_loading...774KB
08/08/15 03:39:08 0pRjMK/9
ActionScript3.0としてのモーションのコピーをして貼り付けたやつで
複数のインスタンスに同時に同じモーションをさせることは出来ますか?
また同名のインスタンスを
var mc:MovieClip = new MowieClip();
のようにして作ってコピーしてきたモーションをさせることは出来ますか?
243:Now_loading...774KB
08/08/15 06:52:26 Gd9OTTkC
>>241
value="$out"って$outっていう文字列を渡してるんじゃね
あと、ASのバージョンを書け
>>242
複数インスタンスの動作は当然可能
同名のインスタンス名は不可能
244:Now_loading...774KB
08/08/15 12:02:21 ckI0L8Dl
>>241
向こうでも一応レスあったよ
移動したなら移動したって書いたほうがいい
245:Now_loading...774KB
08/08/15 12:05:57 wuR4htyh
はじめて質問させていただきます。
AS2.0で、
ループ再生しているムービーを、クリックしたときに
一定のフレームまで再生をつづけて、
そのあと別のフレームに移動させるスクリプトはありますか?
これによって、ループ再生してるムービーが違和感なく
次の動きに移ったように見せたいのですが、、
246:Now_loading...774KB
08/08/15 12:17:01 Gd9OTTkC
>>245
1つflgを作ってクリックでtrueにするとかの処理を作る
ループ再生している部分の一定のフレーム?の最後に
そのflgをみて、再度ループするか他の処理に行くかのif文入れとく
スクリプト作ってくれってのは無しでw
247:Now_loading...774KB
08/08/15 12:17:31 ckI0L8Dl
>>245
スクリプトがある、というより、そうなるようにAS書くってだけだけど
いくつか方法はあるよ。
クリックした時に、onEnterFrame発動させて、MCの_currentframeが
特定のフレームになるまで監視して別のフレームに移動させるとか
クリックした時に、フラグたてといて、特定のフレームにフレームアクションで
フラグの値がtrueならどこそこのフレームにgotoAndPlayしろって書いとくとか。
248:245
08/08/15 12:27:16 WCkH+01h
>246
>247
ありがとうございます。
いくつか方法があるようですね。
初心者もいいところですが、
FLGのほうはかろうじて調べればわかりそうです。やってみます!
フラグを使えば、例えば他にもクリックごとに違う動きをとらせることも可能ということでしょうか。
249:Now_loading...774KB
08/08/15 15:02:08 ckI0L8Dl
>>248
>フラグを使えば、例えば他にもクリックごとに違う動きをとらせることも可能ということでしょうか
そうそう。
if(){}else{}とかswitchステートメントを使って変数の値に応じて処理条件をわけることができる。
ヘルプで条件演算とか条件の記述といった項目を見ると、解説があるので
書き方はわかると思う。
250:Now_loading...774KB
08/08/15 19:15:59 F0gU4zJt
>>243
$outをdata0=aaaに変更して試してみたのですが
aaaと表示してほしいダイナミックテキストにはundefindと表示されてしまいました
ASは2.0、FLASHのバージョンはMX2004です
>>244
ありがとうございます
こちらに誘導させていただきました
251:Now_loading...774KB
08/08/16 01:02:30 0XeJiUmP
>>250
zyusin1は変数名なのか、インスタンス名なのか、どっち?
zyusin1は_rootにあるんだよね?
252:Now_loading...774KB
08/08/16 01:19:05 qkgMh7ab
>>251
zyusin1は変数名に設定していて_root上に配置しています
253:Now_loading...774KB
08/08/16 01:39:16 0XeJiUmP
>>252
確認はIEでしてるの?
254:Now_loading...774KB
08/08/16 02:35:36 qkgMh7ab
>>253
firefoxで動かしたいのでfirefoxで動作確認をしてます
DBを使うのでxamppで設定したアドレス(URLリンク(localhost)~)で確認してます
ファイルを直接指定(file:///C:/~)で試してみても結果は変わりませんでした
255:Now_loading...774KB
08/08/16 02:41:32 HnNPoklS
よくわからんが、
DBの内容を取得するPHPを別に用意してechoで出力。
それをLoadするというのはダメなん?
256:Now_loading...774KB
08/08/16 02:42:30 0XeJiUmP
>>254
embedタグでもちゃんと指定してる?
257:Now_loading...774KB
08/08/16 02:57:51 RybIB8F8
>>241
zyusin1=_root.date0;
だろ。
ヘルプ見ればすぐ済む話を
マルチまでしやがって引っ張りすぎだ。
258:Now_loading...774KB
08/08/16 03:08:01 WtQOPKvq
>>255
それもやってみたのですがよくわからなくて…
PHPで取り出したDBの内容をFLASHに読み込むことができれば成功なんです
>>256
bodyタグの間は↓の様に記述しています
<param name="FlashVars" value="date0=aaa">
<embed src="test.swf">
>>257
できませんでした…
259:Now_loading...774KB
08/08/16 03:23:35 RybIB8F8
>>258
paramタグはobjectタグと併用するIE用のものでFirefoxじゃ意味無い。
embedタグは以下のように記述する。
URLリンク(support.adobe.co.jp)
embedとobjectのタグの違い
URLリンク(allabout.co.jp)
260:Now_loading...774KB
08/08/16 03:35:19 0XeJiUmP
やはりembedタグの記述抜けが原因だったか…
261:Now_loading...774KB
08/08/16 04:19:54 5vNWF8eO
>>259
できました!ありがとうございます!
>>260
長々と申し訳ございませんでした。
皆様ありがとうございました!
262:Now_loading...774KB
08/08/16 06:55:25 Oyxvui6A
AS3、FlashDevelopです。
別のフォルダ階層にあるasファイルクラスの使い方を教えてください。
スタートクラスがMain.as、使いたいasファイルがforuda/Hoge.asとします。
ググってそれっぽいのを見つけてMain.asに
import foruda.Hogeやimport com.foruda.Hoge
と書いたのですが、どちらもうまくいきません。
前者は変な長いエラーメッセージ、
後者はcom.foruda:Hogeが見つかりませんと出ます。
263:Now_loading...774KB
08/08/16 07:04:26 a2oJizrF
>>262
そのフォルダをクラスパスに追加汁
変な長いエラーじゃわからんw
264:Now_loading...774KB
08/08/16 07:17:15 Oyxvui6A
>>263
ありがとうございます。
もう一度探していて、Hogeファイルのpackage名に
forudaと付けると(フォルダ名と同じ名前)うまくいったのですが、
これのことでしょうか。
変な長いエラーは、通常はでる行番号が出なくて、↓の感じです。
A file found in a source-path must have the same package
structure 'foruda', as the definition's package, ''.
そのクラスパスの事だと思われます。
265:Now_loading...774KB
08/08/16 13:28:06 2xKUbVYj
YoutubeのようにマウスがFlash上にあるときは、マウスホイールのスクロールを
Flash側で処理する(ブラウザをスクロールさせない)ためにはどうすれば
よいのでしょうか。
なぜかFlash内のコンテンツもブラウザも同時にスクロールしてしまい、
困っています。
266:Now_loading...774KB
08/08/16 15:46:32 hFeGF9f7
>>265
過去ログ、せめてこのスレくらい検索しようと何故思わなかったのでしょうか。
267:265
08/08/17 08:47:35 BJbe5mL8
過去ログではうまく情報を見つけられませんでした。
探し方が下手なのかもしれません。
このスレでは上の方で「wmode="transparent"」の対策を見たのですが、
自分の環境ではこのパラメータを設定してもブラウザとFlashコンテンツが
同時にスクロールしてしまいます。
wmodeを外しても同じです。
またYoutubeのタグを見てみたところ、特にwmodeなどの指定はなかった
ために、Flash/Flex内で完結した対応方法があるのかと思っていました。
もしもご存じでしたら、お教えください。m(_ _)m
268:前スレ985
08/08/17 09:28:54 YOp9Xplr
マウスオーバーしてる場合だけスクロール制御でスクロールさせないようにしてるんジャマイカ?
269:Now_loading...774KB
08/08/17 12:10:11 YOp9Xplr
スクロール制御じゃなくて、ホイール制御でした。失敬。
マウスオーバーに関係なくホイール制御を奪うようにすればok
270:Now_loading...774KB
08/08/17 12:31:29 BfBYh6/6
>>267
本題とは関係ないが、他人に手間を取らせるんだから、
自分が試したことを書いておくのは最低限の礼儀だよ
>>1に
●質問する時は自分の環境を書く(AS2,AS3の別も)
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く
って書いてあるけど全然守ってない、つまり過去ログどころか>>1も読んでないわけだ
271:Now_loading...774KB
08/08/17 19:03:22 hmHSJau8
AS3です
Sprite(container)が定位置(.x = 200)に来たら分岐条件で元の位置に徐々に.xする、
と言うのをやりたいのですが思ったとおりの挙動をしてくれません。
//移動フラグ
if ( container.x >= 100) //左進行フラグ
{
migi = -1;
hidari = 0;
}
else( 0 >= container.x ) // 右進行フラグ
{
migi = 0;
hidari = +1;
}
var pos_x = migi+hidari;
container.x += pos_x;
実行はTimerで連続処理させてます、
結果はSpriteが右に行ったきり戻ってきませんでした
どの様にするべきでしょうか?初歩的ですが宜しくお願いします。
272:265
08/08/17 19:30:14 BJbe5mL8
>>270さん
失礼しました。
●環境はAS3(Flex Builder3)
●実現したいこと
1 ブラウザ上のFlash領域にマウスがある場合はマウスホイールの
操作をブラウザに反映したくない。(ブラウザのスクロールを
させたくない)。Flashはスクロールさせたい。
2 マウスがFlash領域の外側に移動、もしくはフォーカスがFlashに
ある場合は領域の外をクリックすることでマウスホイールの
動作はブラウザにのみ反映したい(Flashをスクロールさせずに
ブラウザのみスクロールさせる)
●試してみたこと
1 このスレで得た情報のwmode="transparent"指定をつけたり外したり
2 以下のコードのようにマウスホイールのイベントを取得して
デフォルト動作のキャンセルをしようとしたがダメだった。
(event.cancelableがfalseでどうもホイールのデフォルト動作は
キャンセルできない?)
※コードは手元にないため正確ではありません。
scrollArea.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel);
private function onMouseWheel(event:MouseEvent):void{
event.preventDefault();
}
コードは今手元にありませんので、これ以上はお伝えできません。
ご存知の方おられましたら、よろしくお願いします。
273:Now_loading...774KB
08/08/17 19:45:39 VpRVlqJJ
>>271
else( 0 >= container.x ) // 右進行フラグ
↓
else if( 0 >= container.x ) // 右進行フラグ
とまあifが抜けてるだけ
ifが抜けるとelseが掛かるのは
( 0 >= container.x )
の部分だけとなり
{
migi = 0;
hidari = +1;
}
の部分がif else文と何ら関係なく
常に実行されてた訳
274:Now_loading...774KB
08/08/17 20:04:34 VpRVlqJJ
>>272
URLリンク(f-st1029.noc.toyama.nsk.ne.jp)
詳しくは見てないがこれとサイトのリンク先見る限りでは無理っぽいような
275:Now_loading...774KB
08/08/18 02:44:57 L4D0ELjG
>>273
根本的な部分は解決した、ありがとう
276:Now_loading...774KB
08/08/18 03:34:08 B7mViElF
勉強中です。
onイベントハンドラを使用してイライラ棒的なものを作製しました。
ロールオーバーを使用して境界線を引いていますが
右クリックしたままだとonイベントが発生せずスルーされてしまうことが分かりました。
どうしたらマウスをクリックしたまま触れてもロールオーバーイベントを発生できるのでしょうか?
277:Now_loading...774KB
08/08/18 04:15:59 Wwewy3wd
>>276
dragOver(ボタンの外から内側へ向けてドラッグすると)
併記してみて
278:Now_loading...774KB
08/08/18 04:32:15 B7mViElF
>>277 ありがとうございます。
併記ですが、変な形の動く壁のシンボルに記述しています。
on (rollOver, dragOver) {
gotoAndPlay ("gameover");
}
ではスルーされたので、それぞれの命令を分離させて
on (rollOver,) {
gotoAndPlay ("gameover");
}
on (dragOver,) {
gotoAndPlay ("gameover");
}
のようにしてみましたがやはりClickしたまま状態だと抜けられてしまいました。
書き忘れましたがAS1.0です。
試しに、ボタンシンボルをいっこ作って同じ操作をしてみたんですが
もしかしてFlashの仕様として、クリック状態だとマウスオーバーとは認識されないんでしょうかね・・・
279:Now_loading...774KB
08/08/18 04:32:38 kFg0p1MN
>>276
右クリックでメニューが出てる状態ではロールオーバーとかは制御不能なんじゃないかな???
右クリックされるのが嫌ならゲーム中の右クリックは禁止にするといいかもね。
右クリックしたと同時にゲームオーバー、みたいに。
メニュー欄で出来る設定なんかはゲーム中にいじる必要はないわけだし。
例えば、タイトル画面までは右クリックでメニュー開ける状態にしていつでも
設定を変える事ができるようにしておいて、ゲーム開始と同時に
『右クリック押したらゲームオーバー』イベントを反応するようにしておく。
ゲームオーバーになったら、タイトル画面に戻して、上のイベントは切っておく。
そんな感じで。
280:277
08/08/18 04:38:56 Wwewy3wd
ごめん実際試して見たけどdragOverじゃ駄目だみたいだねorz
マウス座標使うか、hitTest使うかかな?
ここまで書いた時点でリロードwおっとっと
右クリックは誤記だよね?w
281:Now_loading...774KB
08/08/18 04:44:14 B7mViElF
>>280
すいません、左クリックの誤記でした;
左クリック押しっぱなしだとスルーで、
コンテキストメニュー出すとワープになりますねぇ。。。
やっぱり壁の縁にHitTest記載した隠しシンボルをずらり並べるとか
完全に角形化するしかなさそうですね・・・
待ってる間に実際グーグルでいろいろ調べてたんですが大体そうやっているみたいでしたし
・・・
朝早くからありがとうございました。
精進イタします<(_ _)>
282:Now_loading...774KB
08/08/18 17:24:55 XiIEBvpl
Flex/AS3.0です
任意のタイミングで要素を追加、指定した要素を削除、全要素を列挙できるデータ構造として、
Dictionaryを使用したいと考えています。オブジェクトをキーとして、同じ物を値として保存するような・・・。
キーと値が同じなので、直感的に無駄な部分があるように思えて仕方ありません。
キーと値が同じようなDictionaryの使い方ってするものなんでしょうか。
用途のイメージです↓
var dict:Dictionary
public function addObj( obj:Object ){
if( dict[obj] == undefined )
dict[obj] = obj;
}
public function rmvObj( obj:Object ){
if( dict[obj] != undefined )
delete dict[obj]j;
}
public function traceDict(){
for each( obj:Object in dict){
trace( obj.toString() );
}
}
283:Now_loading...774KB
08/08/18 17:38:00 3rh6DCFZ
>>282
値を取り出すために同じ値を必要とするならば、値を取り出す時点でその値が手元にあることになり、なんのために取り出すのかと
284:Now_loading...774KB
08/08/18 17:45:20 XiIEBvpl
>>283
値の取り出しはfor eachでのみ行うつもりです
用途は買い物カゴに商品を登録するようなイメージです
好きな商品をカゴに入れる→dict[obj] = obj
後で取り消したい場合はカゴから取り出す→ delete dict[obj]
最終的にカゴに入っている商品の総額を求める for each ( obj in dict ){ ...... }
やはり変な使い方でしょうか
285:Now_loading...774KB
08/08/18 17:49:09 nfZWJrk4
長文失礼します。
●環境 Adobe Flash CS3 ProfessionalでAS3.0使っています
●コード(2.swfに書き込んでいるコードです)
import flash.display.MovieClip;
import flash.display.Loader;
import flash.events.EventDispatcher;
var ldr:Loader = new Loader();
this.addChild(ldr);
//Button_btn5をクリックで3.swfを読み込む
this.Button_btn5.addEventListener(MouseEvent.MOUSE_DOWN,func01);
function func01(e:MouseEvent):void {
ldr.load(new URLRequest("3.swf"));
}
//テキストの表示
var theText:String;
theText = "表示するテキスト";
var theTimer:Timer = new Timer(50);//タイマーの設定
theTimer.addEventListener(TimerEvent.TIMER, onTick);
var myTextField:TextField;//以下テキストフィールドの設定
myTextField = new TextField();
※以下x.y座標などの設定(略します)
//フォーマットの設定(略します)
myTextField.defaultTextFormat = myFormat;
addChild(myTextField);
※以下Timerの設定(略します)//end
ページごとにそれぞれswfファイルを作成して、ボタンのクリックによってそれぞれのswfに移動するコンテンツを作成しています。
2.swfを読み込んだとき、「//テキストの表示」以下のコードによって1文字ずつテキストを表示するのですが、Button_btn5をクリックして3.swfを読み込んだとき、2.swfで表示されたテキストが3.swfに表示
された状態となってしまいます。
3.swfやその他のswfを読み込んだときに、このテキストが表示されない状態にしたいのですが、どうすればよろしいでしょうか?swfファイルの読み込み方がまずいのでしょうか?
改善方法をご存知の方、よろしくお願いします。
286:Now_loading...774KB
08/08/18 17:51:05 3rh6DCFZ
>>284
なるほどーそういう使い方なら別に変ではないと思いますよ
287:Now_loading...774KB
08/08/18 17:55:31 XiIEBvpl
>>285
addChild(ldr)をaddChild(myTextField)より後に書くか、
SetChildIndexでmyTextFieldの重なり順を変えるか、
func01でmyTextField.visible = false とするかしてみたらどうでしょうか
288:Now_loading...774KB
08/08/18 18:01:26 3rh6DCFZ
>>285
3.swfを読み込んだLoaderがTextFieldより深度が深くなってしまうという認識でいいですか?
Event.COMPLETEイベントを使って3.swfを完全に読み込んだあとにaddChildしたらいいかも
ムリやり消したいならvisibleをfalseにするとか
289:Now_loading...774KB
08/08/18 18:01:56 nfZWJrk4
とりあえず、addChild(ldr)をaddChild(myTextField)より後に書くことにより解決しました。
お早い回答ありがとうございます。
3つの方法がありますが、どの方法が一番利便性が高いのでしょうか?
290:Now_loading...774KB
08/08/18 18:13:14 nfZWJrk4
>>288
はい。TextFieldが一番前にきてしまうのです。
fanc01にmyTextField.visible = false;を加えたところ、ボタンをクリックすると
TextFieldは削除されたのですが、swfが読み込まれなくなりました…。
291:Now_loading...774KB
08/08/18 18:15:25 RRsF2cli
>>284
アホすぎで泣けたw
1000個のインスタンスのうち1つを選ぶのに
毎回毎回for eachで値を比較するわけだなw
292:Now_loading...774KB
08/08/18 18:40:31 NfD0Qby0
>>291
暑さで脳みそ溶けてないか?
293:Now_loading...774KB
08/08/18 18:43:08 RRsF2cli
>>292
まさか、そんな作りの買い物かご作ってるのか?
ASスレだから言うが、お前は無能だw
294:Now_loading...774KB
08/08/18 21:36:28 69F2CPZ/
ごく普通の考え方だと思うぞ?しかも結構初歩的で教科書的な。
どう勘違いしてるやら?
295:Now_loading...774KB
08/08/19 00:12:43 OnM4YQZu
291の問題点は日本語が読めないところだな
296:Now_loading...774KB
08/08/19 01:16:41 cYnpiDvP
Timerクラスで100ミリ秒前後でループさせているのですが、時間が安定しません。
どうにか安定させる方法はないでしょうか。
297:Now_loading...774KB
08/08/19 01:29:51 qevvbjcQ
>>296
無理。Flashプレーヤーはそのへんかなりいい加減なのよ。
高FPSにして、都度チェックするのと併用するのがポピュラーな手段だけど、それでも安定するとは言えない。
今後に期待するしかないのよ現状は。
298:Now_loading...774KB
08/08/19 02:04:36 cYnpiDvP
>>297
ループする間隔を長くすれば 全体で見たズレは少なくなりますか?
299:Now_loading...774KB
08/08/19 02:27:56 yFXjgqte
>>298
>>297は計測精度的なことをいっているが、
>>296の言い草ではおそらく
時計の表示タイミングのことぐらいの話だろう?
もしそうならTimerクラスじゃなくて
時間計測開始時の起動後ミリ秒を取得してこれを基準ミリ秒として
EnterFrameイベント毎に現在起動後ミリ秒を取得して
そのミリ秒と基準ミリ秒との差分が1000ミリ秒以上なら
1秒経過として時計の表示を更新するとともに
基準ミリ秒を+1000ミリ秒するようにすれば
フレームレートがよほど低く無い限り
見た目でのずれは
人間の目では感じることがなくなるよ。
Timerクラスは「ほぼ」指定したミリ秒間隔で実行するから
適度な遅延などあいまいな処理に使ったりで、
時計などには向かない。
ヘルプにもそう書いてあったはず。
時計の表示の更新に使うと最大で約指定ミリ秒×2の
表示のズレがどこかで生じる。
300:Now_loading...774KB
08/08/19 06:01:21 MNV9t+Mg
>>294
どの教科書に自分自身をキーにして自分自身を索引しましょうって書いてあるの?
普通はキーとデータの組み合わせだが
>>295
日本語が読めても無能では困る
301:Now_loading...774KB
08/08/19 08:14:06 qevvbjcQ
>>300
なにを勘違いしてるか分からんけど、こういうことでしょ?
ごくごく普通。
var cart:Dictionary=new Dictionary()
var item1:Object = {name:"商品A", price:500}
var item2:Object = {name:"商品B", price:300}
function addItem(item){cart[item]=item}
function removeItem(item){delete cart[item]}
function sum(){
var result=0;
for each(var item in cart)result+=item.price;
return result;
}
addItem(item1);
addItem(item2);
trace(sum()); //800
removeItem(item1);
trace(sum()); //300
実際の運用はCartクラスとItemクラスなんかを作って整理するのが多いんじゃないかな?
302:Now_loading...774KB
08/08/19 08:38:47 MNV9t+Mg
カートの中身の順番が不定な通販システム作るのかw
for in やfor eachはもれなく列挙することは保証しているが、
その順番については不定
303:Now_loading...774KB
08/08/19 09:11:16 qevvbjcQ
もう無能でいいよw
つきあいきれんw
304:Now_loading...774KB
08/08/19 12:35:31 6WSTXBPD
>>302
> カートの中身の順番が不定な通販システム作るのかw
> for in やfor eachはもれなく列挙することは保証しているが、
> その順番については不定
305:282=284
08/08/19 12:45:20 Tu77xjM1
自分のせいで荒れてしまってますね。すみません。
>>302
>>284で示した買い物カゴの例はあくまでイメージです。通販システムを作りたいわけではありません。
実現したいことはあくまで>>282に記述した
1.要素の登録
2.指定した要素の削除
3.登録された要素の列挙
です。
特定の要素を必要とする事はないので、ランダムアクセスは必要ありませんし、
中身の順番は不定で構いません。
どのような方法を用いるのが適切でしょうか。是非ご教授下さい。
306:Now_loading...774KB
08/08/19 14:16:10 5kuvsE+n
MNV9t+Mgはかわいそうな子
307:Now_loading...774KB
08/08/19 19:37:08 I9tAL0LM
質問です。少数値の計算は整数値よりも処理に負担がかかると聞いたのですが、毎フレーム少数値の計算を繰り返すとした場合、
それを防ぐために事前にMath.floorを使って整数にするときと少数のまま処理処理し続けるのではどちらの方が負担がかかるのでしょうか?
308:Now_loading...774KB
08/08/19 19:40:59 D4hib965
やってみればいいんじゃないでしょうか
309:Now_loading...774KB
08/08/19 20:07:34 V18lMoZN
D:\Flash\sample.swfがswf、D:\Flash\sample.htmlがhtmlだとします。
これでsample.htmlへアクセスしたときにD:\Flash\sample.htmlというパスを動的に取得したいのですが、どうすればいいでしょうか?
310:Now_loading...774KB
08/08/19 20:43:55 D4hib965
>>309
javascriptを使えばできたと思います
311:Now_loading...774KB
08/08/20 00:03:21 u1zcHG65
この場合は無理だと思います
312:Now_loading...774KB
08/08/20 11:55:36 rtbrbiHF
>>305
いまいちイメージが湧かないんだが、たとえばリストボックスとか、
複数のjpg画像で商品を表示しておいてそれを選択して確定ボタンを押すと
買い物かごエリアにその商品が表示されるとかなのか?
あと、指定した要素の削除にはランダムアクセスが必要だと思うぞ
313:Now_loading...774KB
08/08/20 11:59:37 xRczFEqI
Flash CS3/AS3.0で質問させてください。
Flash CS3にてMCシンボル
oya、koをそれぞれ作成し、oya内にkoを配置、"ko_mc"と命名。
oyaに以下のクラスをリンケージ
public class Oya extends MovieClip{
//コンストラクタ
public function Oya():void {
this["ko_mc"].koMethod();
}
//メソッド
public function oyaMethod():void {
trace("oyaMethod() called");
}
}
koに以下のクラスをリンケージしました。
public class Ko extends MovieClip{
//コンストラクタ
public function Ko():void{
}
//メソッド
public function koMethod():void {
trace("koMethod() called");
//parent.oyaMethod();
}
}
上記の状態で、Ko側からOyaのメソッドを呼び出したい場合、どのように
すればよいでしょうか。
koMethod()でコメントアウトしている書き方では以下のエラーが出力されます。
未定義である可能性のあるメソッド oyaMethod を、静的型 flash.display:DisplayObjectContainer の参照を使用して呼び出しました。
以上、よろしくお願いいたします。
314:Now_loading...774KB
08/08/20 14:10:22 2osAeMLk
>>313
親をこうして、
public class Oya extends MovieClip {
public var ko_mc:Ko
public function Oya():void {ko_mc.koMethod();}
public function oyaMethod():void {trace("oyaMethod() called");}
}
子をこんなで
import flash.display.MovieClip
public class Ko extends MovieClip {
private var oya_mc:Oya;
public function Ko():void {oya_mc = Oya(parent)}
public function koMethod():void {
trace("koMethod() called");
oya_mc.oyaMethod();
}
}
で、[パブリッシュ設定]の[ActionScript3.0]の「ステージのインスタンスを自動宣言」
のチェック外せばいけるんじゃないかな?
parentは使わないで、Oya型のプロパティを用意して、そこにparentをOyaでキャストしたのを入れて置いて使う感じ
315:Now_loading...774KB
08/08/20 14:30:51 xRczFEqI
>>314
教えていただいた方法で意図した動作が可能になりました。
キャストという方法があるんですね。
後、「ステージのインスタンスを自動宣言」というパブリッシュ設定項目に
ついてもまったく認識してませんでしたので、キャストとともに
ちょっと勉強しようと思います。
ありがとうございます。
316:Now_loading...774KB
08/08/20 16:31:47 RIt+z6DK
AS3.0です。contents.flaとControll.asを作りcontents.swf内のボタンを押したときの動作(再生と一時停止)をControll.as内に定義したいと思ってます。
contents.flaのフレームアクションは以下のとおりです。
import Controll;
var obj:Controll = new Controll();
addChild(obj);
bt_play.addEventListener(MouseEvent.CLICK, bt_playClick);
bt_pause.addEventListener(MouseEvent.CLICK, bt_pauseClick);
function bt_playClick(eventObj:MouseEvent)
{
obj.Play();
}
function bt_pauseClick(eventObj:MouseEvent)
{
obj.Pause();
}
続きます。
317:316
08/08/20 16:34:40 RIt+z6DK
Controll.asの中身は以下のとおりです。
package {
import fl.motion.Animator;
import flash.display.*;
public class Controll {
static var animeobj = new Animator();
//一時停止
public static function Pause():void {
animeobj.pause();
}
//再生
public static function Play():void {
animeobj.resume();
}
}
}
以上を実行すると
ArgumentError: Error #2012: Controll クラスをインスタンス化することはできません。
at _fla::MainTimeline/_fla::frame1()
とエラーが出ます。どのように直したらよいでしょうか。
よろしくお願いします。
318:Now_loading...774KB
08/08/20 16:51:52 YfXV1Gub
おれはAS3は全く解らないから聞き流してくれかまわない。
勘で、addChildいらない。といってみる。
319:Now_loading...774KB
08/08/20 17:32:02 XCrjyQ50
addChildももちろんいらないけどstatic関数呼ぶならインスタンスから
関数呼んじゃだめ。Controll.Play() Controll.Pause() とか。