1 名前:Now_loading...774KB [2007/08/18(土) 08:48:49 ID:g0sVH2IC] AcitonScriptのことなら 初歩的な質問でもなんでもおk 見れない、保存したい、flashを作りたいはスレ違い 下記の関連スレ、超基本的な質問へ。 ●質問する時は自分の環境を書く 書いてない場合WinXP,FlashMX2004(AS2.0以降)を前提で ●質問はものすごい勢いじゃなくて結構 ●できるだけコードも示す ●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く 直前スレ ActionScript 誰かが物凄い勢いで解答するスレ 16 pc11.2ch.net/test/read.cgi/swf/1178021352/l50 関連スレ Flashの超基本的な質問はここでしろ! part35 pc11.2ch.net/test/read.cgi/swf/1184667056/l50 Flash製作初心者の質問スレッド レイヤー36 pc11.2ch.net/test/read.cgi/swf/1173006099/l50 サイト、参考書籍、関連情報は>>2-10 あたり
2 名前:Now_loading...774KB mailto:sage [2007/08/18(土) 08:54:58 ID:g0sVH2IC] アドビ本家(FLashCS3の30日間無料トライアルのダウンロードもここから) ttp://www.adobe.co.jp 以下はAS2までのツールと思ってちょ ASエディタse|pyのHP(ダウンロードは一番下のとこ) ttp://www.sepy.it/ .solエディタはここ ttp://www.alexisisaac.net/
3 名前:Now_loading...774KB [2007/08/18(土) 13:40:00 ID:+E7xJx7d] Flex 2 (ActionScript 3.0)で、縦書き表示したいのですが、何か方法はあるでしょうか? Flash 8では、静的テキストならプロパティの変更で縦書き表示が選べたのですが… よろしくお願いいたします。
4 名前:Now_loading...774KB mailto:sage [2007/08/18(土) 17:22:44 ID:rmevAXa2] windowsXP FLASH8 です。 ムービークリップに onClipEvent (load) { if (_root.変数1 == true) { this. gotoAndPlay("A"); } if (_root.変数2 == true) { this.gotoAndPlay("B"); } } と記述して動作しているのですが同じ内容を記述するムービークリップが 多くなりそうなのでfunctionにすることにしました ↓rootタイムラインに記述 function 名無し() { if (_root.変数1 == true) { this. gotoAndPlay("A"); } if (_root.変数2 == true) { this.gotoAndPlay("B"); } } ↓ムービークリップに記述 onClipEvent (load) { _root.名無し(); } では動作してくれません。。。。。 どこが問題なのでしょうか。。。。。orz
5 名前:Now_loading...774KB mailto:sage [2007/08/18(土) 18:49:09 ID:JpSxShXi] >>4 thisが違うんじゃない? function 名無し(mc:MovieClip){ mc.gotoAndPlay("A"); //他は略 } 呼ぶときは _root.名無し(this)
6 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 01:23:19 ID:xj1FghBM] flashでホームページを作っています。 各アイコンのボタンをMCにして、マウスが近づくと大きくなるようにしているんですが 数が増えてしまいCPU負荷が予想以上に多くなってしまいました。 対策として、アイコンのエリアより大きいサイズの透明のMCに onClipEvent (load) { Iconflag = true; } on (rollOver) { Iconflag = true; } on (rollOut) { Iconflag = false; } と書き。アイコンのMCに onClipEvent (enterFrame) { if (Iconflag == true) { xm = _parent._xmouse; ym = _parent._ymouse; span = Math.sqrt(xm*xm+ym*ym); if (span>100) { mcScale = 80; } else { mcScale = 80+(span-100)*-20/100; } this._alpha = this._xscale=this._yscale=mcScale; } } とやってみて負荷は下がったのですがアイコンの拡大縮小が滑らかではなくなってしまいました 原因があれば直していきたいのでぜひ教えてください
7 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 02:00:39 ID:5SDHQgxV] >>6 円型のMCの半径100ピクセル範囲にマウスがあったら その距離に合わせてサイズを変えるという事かな。 on(RollOver)イベントが発生するのは「MCとの距離が80以内の(重なっている)時」 本来は「100ピクセル以内に入ったらサイズ変更する」はずなので そこが上手く処理できていない。 上手い解決策かは分からないけど MCの中に半径100の円を作って背景色と同じにするか(他のMCと重なるかも) 入れ子のMCにしてonClipEvent(load){_visible = false} で、見えなくすればいいかも。
8 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 02:08:37 ID:5SDHQgxV] しまった、自分の質問忘れてたorz MCの存在をチェックする時の質問です var Mc:MovieClip = _root.MC; とルート上のMCを変数に割り当てた後 MC.removeMovieClip(); で削除後、 Mcの変数を使って存在をチェックします。 「if(Mc == ??)」の「??」にあたるものが分からず 今は「if(Mc._x == undefined」というように内部のプロパティを見て判定しています。 この「??」またはMcを利用して存在をチェックするにはどうすればいいのでしょう。 教えていただきたいです。
9 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 02:46:57 ID:NTX07+iK] >>8 下記でどうでしょう? var mc:MovieClip = _root.mc; if (mc === undefined) { trace("mc 無いよ"); } //出力結果 mc 無いよ
10 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 03:04:17 ID:5SDHQgxV] >>9 回答ありがとうございます。 しかし、その方法だと上手くいかないみたいですorz こちらで試した処理 trace("START"); attachMovie("mc", "mc1", 1); var Mc:MovieClip = _root.mc1; trace(Mc); Mc.removeMovieClip(); trace(Mc); if (Mc === undefined) { trace("undfined"); } if(Mc == ""){ trace("空白"); } trace("END"); <出力> START _level0.mc1 END 改行なのか、undefinedなのか・・・
11 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 03:45:46 ID:NTX07+iK] getInstanceAtDepth()を使うと、その深度にMCがあればMCへの参照が 無い場合はundefinedが返るので、スマートさにかけるような気がしますが これで判定するというのもひとつの手ですかね。 trace("START"); attachMovie("mc", "mc1", 1); var Mc:MovieClip = _root.mc1; trace("Mc = " + Mc); Mc.removeMovieClip(); trace("Mc = " + Mc); if (Mc == undefined) { trace("undfined"); } if (Mc == "") { trace("空白"); } if (Mc == null) { trace("null"); } if (getInstanceAtDepth(1) == undefined) { trace("mc無いよ"); } trace("END"); <出力> START mc = _level0.mc1 mc = mc無いよ END
12 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 03:47:11 ID:NTX07+iK] <出力>以下は下記に訂正します。 <出力> START Mc = _level0.mc1 Mc = mc無いよ END
13 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 06:49:10 ID:wUCJhVh1] trace(Mc instanceof MovieClip); とか。
14 名前:6 mailto:sage [2007/08/19(日) 10:09:23 ID:xj1FghBM] >>7 レスありがとうございます なんというか、マウスの反応エリアにポイントが乗ってない時には enterframeの処理を休止させるような良い方法があればいいんですけど。。。 空ボタンでマウスエリアを作って変数の受け渡しでon/offをしてみたのが ”>>4”の状態なんですけど これだと、マウスをmcに近づける速度が速すぎると 空ボタン反応→mc拡大が急になりぎこちなく見えるし mcから急に離すと、mcが縮小する前にイベント休止になってしまい、 中途半端な大きさで止まってしまう状態です。 かといって、空ボタンのサイズを大きくすると意味無いし。。。 もう脳みそ、溶けそうっす
15 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 10:13:36 ID:wUCJhVh1] updateAfterEvent();
16 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 11:54:06 ID:O2qXmHbE] 環境はMEでFlash6を使っています。 画質が低のとき、低の文字に印がつくようにしたくて「画質選択」と言うスプライトに onClipEvent (enterFrame) { if ( _quality = low ) { this.gotoAndStop(1); } if ( _quality = medium ) { this.gotoAndStop(2); } if ( _quality = high ) { this.gotoAndStop(3); } } と、ASを書いたのですが、印が低、中、高とぐるぐる回るだけです。 オプション─オプション画面.png ←この画像に低中高の文字あり 画質選択┬低.pdr フレーム1 ├中.pdr 2 └高.pdr 3 if ( _quality = low )の部分がいけないのでしょうか?
17 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 11:57:20 ID:5SDHQgxV] >>11 ,12 MCの深度を調べる方法ですか。 確かにこの方法で調べられると思うのですが、 その深度に新たに別のMCが作られるとアウトですよね。。。 すいません、質問には含めてなかったんですがやりたい事では↑がありえてしまうのでorz >>13 ありがとうございます。 色々試した結果、判定処理も負荷が余分にかかることなく実行できました。 回答いただいた方、ありがとうございました。
18 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 12:10:22 ID:5SDHQgxV] >>14 ひとまず急に離した時に大きさが中途半端なのは以下のソースでなんとかなるかと if (Iconflag == true) { // 処理 } else { this._alpha = this._xscale=this._yscale=80; } 毎回設定してるからちょっと気持ち悪いけど・・・。 急に近づけた場合はon(RollOver)の実行タイミングだから 前見たく常に判定させるかくらいしか・・・ >>16 ifの判定はif(_quality == low)とかになると思う。 後、lowが文字型で文字入ってるならいいけど、 if(_quality == "HIGH")で文字比較する。
19 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 12:35:34 ID:O2qXmHbE] >>18 御回答ありがとうございます。 ==を使えばいいと分からなかったとき if(_quality = "high") と書いてみたら画質が高に固定されたから困った
20 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 15:03:36 ID:awgMx+iC] 前スレ982,985です(BSキーのキーコード) 「キーボードショートカットを無効」にチェック入を入れるにはどうすれば良いでしょうか? Flash8では、 編集 → キーボードショートカット でそれらしきものが出ますが、そこから 先が分かりません。
21 名前:Now_loading...774KB [2007/08/19(日) 15:26:23 ID:9/7tACGE] x 1000 y 500 内のステージ上でマウス、カーソルの位置に合わせてオブジェクト(ボタンなど)のx位置が変化する、単純なマウスアクションを作りたいですけど。 x位置に制限をつけるやり方、どなたか教えてください。 例えばそのオブジェクトをステージの中央(例えば x 500)に配置して、マウス位置 x 0 (画面左ぎりぎり)の時はそのオブジェクトの x位置を400に、 反対に右いっぱい(マウス位置x1000)の時は x位置 600 という、400〜600までの制限をつけたいんですけど、どうAS書けばいいのか教えてください!
22 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 15:39:14 ID:9a4wjjql] >>21 完全に算数的な動作ですなw 1000-0:600-400 = 1000:200 = 5:1 だから、マウスの座標とオブジェクトの座標を5:1の関係 で動かせば良いのでは? つまり、マウスの移動量*0.2=オブジェクトの移動量 で、マウスの座標>1000 なら、オブジェクトの座標=オブジェクトの座標(繰り返し代入)とか
23 名前:Now_loading...774KB [2007/08/19(日) 15:53:16 ID:9/7tACGE] >>22 挑戦してみたんですが、なかなかうまく動かず↓ もしよければ具体的にどう書いたら、ちゃんと動くのか書いてもらえませんか? すみませんずうずうしくて↓
24 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 16:01:56 ID:yqPb+OKQ] >>23 数学の勉強をやり直すのをオススメするよ まずは制限とか考えずに、とりあえず動くように作ってみたら?
25 名前:Now_loading...774KB [2007/08/19(日) 16:04:20 ID:9/7tACGE] >>24 ありがとうがざいます。 一応動かすことはできるんですが、今の書き方のままですと 一生カーソルに付いてくるので↓ なんとか制限を付けられないかなと。 すみませんド素人で。
26 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 16:07:45 ID:9a4wjjql] >>25 どうしても駄目なら、FlaファイルごとUpしたら? あと、いちいちAgeなくても良い。
27 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 16:16:33 ID:57texW2D] >>20 ムービープレビューしたときのメニューのどこか。確か[制御]
28 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 16:22:27 ID:9/7tACGE] >>26 “マウスの座標とオブジェクトの座標を5:1の関係 で動かせば良いのでは” 大変失礼ですが、具体的に書いてもらえないでしょうか?
29 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 16:25:15 ID:vAyQy28C] 大物が来たなw
30 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 16:29:10 ID:dkUFB5nF] >>28 マウスの座標をとれてるなら、x座標なら (オブジェクト)._x = 400 + (マウスのx座標)/5; でいいんじゃないのー?
31 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 16:30:25 ID:a77o6odo] >>27 ありがとうございます。BSのキーコード確認できました。 ちなみに、これでEnterキーも確認できまた。
32 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 16:32:08 ID:9/7tACGE] >>30 きた.com
33 名前:Now_loading...774KB [2007/08/19(日) 16:38:53 ID:LNQddBb7] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) テキストフォーマットで質問です。 ある文字列の特定の区間をイタリック(斜体)にするにはどうしたら良いでしょうか? ASとしては、on (release) で text1 = "見れない、保存したい、flashを作りたいはスレ違い "; text1_fmt = new TextFormat(); //新規TextFormatを生成 text1_fmt.italic = true; text1_ins.setTextFormat(text1_fmt); //テキストインスタンスtext1_insに反映させる text1全部を斜体にすることは出来ましたが、区間(例えば5文字目から10文字目) を指定する方法が分かりません。 Selection.setFocus(text1_ins); Selection.setSelection(5, 10); を使うと、単に指定した区間がハイライトされた状態になります。 どうしたら良いでしょうか?
34 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 16:54:34 ID:wUCJhVh1] text1_ins.setTextFormat(text1_fmt, 5, 10);とか
35 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 17:03:30 ID:wUCJhVh1] あ、2.0なら引数のフォーマットとインデックス逆かも
36 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 17:12:57 ID:LNQddBb7] >>35 有り難うございます。やっぱフォーマットが後ろで、 text1_ins.setTextFormat(5, 10, text1_fmt); でOKでした。
37 名前:Now_loading...774KB [2007/08/19(日) 19:41:30 ID:LNQddBb7] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) while文中のif条件文で質問です。 あるテキスト文中の処理で、そのテキスト文の終端に文字位置が来たら 終了(break)するようにしたいのですが、終わりません。 ASはon (release) に fmtPo2 = 0; //文字位置パラメーター txt2_len = txt2.length-1; trace("txt2.length= "+txt2_len);//長さは632と表示 while (1) { if (fmtPo2>500) {//500で終了させるのは可能 break; } //ここに処理 fmtPo2++; } と書いて実行すると、これは正常に終了するのですが、本来の動作のために if (fmtPo2>500) → if (fmtPo2>txt2_len) //終端でbreak とすると、閉ループに入ったようになり終了しません。 どうしたら良いでしょうか?
38 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 20:39:57 ID:MLctj2zj] >>37 if文の中にはいってきてんの?
39 名前:37 mailto:sage [2007/08/19(日) 21:32:32 ID:LNQddBb7] >>38 そうです。 if (fmtPo2>500) { break; } が if (fmtPo2>txt2_len) { break; } になりました。 今まで、変数の大小で判定した際にこんなことは無かったのですが・・・
40 名前:6 mailto:sage [2007/08/19(日) 21:48:01 ID:xj1FghBM] 今日一日いろいろやってみまして空ボタンに on (rollOver) { //省略 } で変数を取得させてenterFrameを一時停止させる方法に おかげさまで目処が立ちました。 >>14 でのぎこちなく動く。という原因は収縮するmcの中にネストしていた ボタンのせいで空mcのエリアに穴が出来、そのため空mcがrolloutと 判断してenterFrameを一時停止させていたためでした。 対応として、ボタンに on (rollOver) { Iconflag = true; } を追加して、ボタンのエリアも変数flag取得エリアとすることで、 多少、スマートではないものの、CPU稼働率を80%からエリア外にマウスがある時には 4%にまで落とすことが出来ました。 いろいろとアドバイスありがとうございました。
41 名前:Now_loading...774KB mailto:sage [2007/08/19(日) 21:57:10 ID:MLctj2zj] >>39 fmtPo2>txt2_lenがtrueと評価されているなら breakされるから無限ループにはならない。
42 名前:37 mailto:sage [2007/08/19(日) 23:52:32 ID:6FwBMnZF] >>41 レス有り難うございます。原因が分かりました。 if (fmtPo2>500) → if (fmtPo2>600) → if (fmtPo2>610) → if (fmtPo2>620) → if (fmtPo2>631) とすると、if (fmtPo2>610)まではOKでそれ以降は不可でした (if (fmtPo2>615)はなんとか可)。 while文中の処理として、特定の部分を太字化していたのですが 元の文字列txt2の末尾にそれがあるもののそこで終わらず、再び 先頭の目的以外の文字列も太字化されていました。 つまり、最後を通り越して先頭に戻り、また最後を通り越して・・・ の閉ループになっていたようです。 対策として、if (fmtPo2>txt2_len-nnn) というように、txt2の最後の行 の文字列数分nnnを引いた数以上で判定させました。
43 名前:Now_loading...774KB mailto:sage [2007/08/20(月) 06:32:33 ID:qNinbgOq] ActionScript3.0はJavaに似てる、って聞いて飛んできたのですが JavaアプレットをActionScriptにすぐ移植できるぐらいなんでしょうか? C++ → Javaアプレットへの移植ぐらいだと助かるんですが。
44 名前:Now_loading...774KB mailto:sage [2007/08/20(月) 06:45:58 ID:Uasgpnme] JavaとAs3.0の両方に精通していれば楽に移植できるでしょう どちらも中途半端な場合は悲惨な結果になるでしょう
45 名前:Now_loading...774KB mailto:sage [2007/08/20(月) 06:51:03 ID:qNinbgOq] >>44 ありがとうございます! 希望が出てきたので本格的にActionScript勉強してみます やっとアプレットから逃げ出せそうな予感が
46 名前:Now_loading...774KB mailto:sage [2007/08/20(月) 11:18:59 ID:IGoV6Jt8] 単純なものなら Java→AS2でも割と簡単に移植できるよ。
47 名前:Now_loading...774KB mailto:sage [2007/08/20(月) 11:24:09 ID:XQnOjEb+] >>45 でもJava程柔軟かって言われるとそうでもないから、かなりの確率でがっかりすると思う
48 名前:Now_loading...774KB mailto:sage [2007/08/20(月) 22:34:23 ID:7PVd6DBD] // NetConnection オブジェクトを作成する : netConn = new NetConnection (); // ローカルストリーミング接続を作成する : netConn.connect (null); // NetStream オブジェクトを作成し、onStatus() 関数を定義する : netStream = new NetStream (netConn); // NetStream ビデオフィードを Video オブジェクトに割り当てる : this.VideoWindow_mc.my_video.attachVideo (netStream); // バッファ時間を設定する : netStream.setBufferTime (5); // netStream.onStatus = function (infoObject) { if (infoObject.code == "NetStream.Buffer.Empty") { hyouji = "データのフロー中断中"; } else if (infoObject.code == "NetStream.Buffer.Full") { hyouji = "バッファが満たされました"; } else if (infoObject.code == "NetStream.Play.Start") { hyouji = "再生開始"; } else if (infoObject.code == "NetStream.Play.Stop") { hyouji = "停止"; } else if (infoObject.code == "NetStream.Play.StreamNotFound") { hyouji = "FLV が見つかりません"; } }; このソースで「netStream」はどこに収納されているのでしょうか? ローディングバーにて onClipEvent (enterFrame) { // 読み込まれているパーセント分メーターを進める this.gotoAndStop (Math.floor (_root.netStream.bytesLoaded / _root.netStream.bytesTotal * 100)); } とかいてあるのですが、ローディングバーの反応がありません たぶん_root.netStreamのパスのせいだと思うのですが。
49 名前:Now_loading...774KB mailto:sage [2007/08/20(月) 23:41:31 ID:Uasgpnme] >>48 拾ってきたのか書籍のサンプルのかわからんが、完成されている ソースの一部分をコピペされてどうなのと言われても困る
50 名前:Now_loading...774KB mailto:sage [2007/08/21(火) 00:16:48 ID:R9e+YG2d] ActionScriptで同じディレクトリのテキストファイルは読み込めるようですが バイナリファイルも読み込めるんでしょうか?
51 名前:Now_loading...774KB mailto:sage [2007/08/21(火) 04:32:57 ID:R9e+YG2d] 色々調べてURLStreamでreadByte、readIntなどを使って読み込んでいけることが 分かりましたが、読み込むことができるファイルがSWF、TXT、GIFなど限られている ようなので、例えばJPGにデータを詰め込んでおく・・・とか?
52 名前:Now_loading...774KB mailto:sage [2007/08/21(火) 06:50:15 ID:np2L7+ij] 日本語でおk
53 名前:Now_loading...774KB mailto:sage [2007/08/21(火) 10:38:02 ID:eQMxDHhK] フレームアクションの変数を、シンボルにリンケージしたクラスから参照するのってどうやるの? _root nt=10; .as class myClass{ function myClass(){ trace(nt); }}
54 名前:Now_loading...774KB mailto:sage [2007/08/21(火) 11:33:52 ID:7HCVWyPt] _rootに書いたなら_root.ntじゃね?
55 名前:Now_loading...774KB mailto:sage [2007/08/21(火) 15:28:12 ID:ERTsYJLH] >>50 一番手っ取り早いのは loadVariables() を使う方法。 「Flash MX ActionScript 実践技&ウラ技大全」(C&R研究所)ナツメ社 p144 「Flash ActionScript 逆引き大全550」(ITフロンティア 著)秀和システム p132
56 名前:Now_loading...774KB mailto:sage [2007/08/21(火) 21:06:07 ID:R9e+YG2d] >>55 ありがとうございます! さっそく逆引き大全を買ってみます
57 名前:Now_loading...774KB mailto:sage [2007/08/23(木) 01:49:09 ID:eoOlJ0cq] fuse kit の勉強がしたいのですが 詳しく解説しているサイトか書籍はありませんか?
58 名前:Now_loading...774KB [2007/08/23(木) 07:06:18 ID:lEsqcOve] FLVファイルからデータベース接続って可能ですか? 外部ファイルを読み込ませてつかっていたのですが 外部ファイルの更新頻度が高いのでDB化したいのですが・・・
59 名前:Now_loading...774KB mailto:sage [2007/08/23(木) 18:12:42 ID:ItKCb7FJ] >>58 FLVはビデオファイルなので無理 swfからならphpやcgiを介せば可能
60 名前:58 [2007/08/23(木) 19:30:51 ID:lEsqcOve] あ。。swfからです。。。汁 できるのですねーありがとうございました!
61 名前:Now_loading...774KB mailto:sage [2007/08/23(木) 19:38:27 ID:xQJLCoy/] しる?
62 名前:Now_loading...774KB [2007/08/23(木) 19:50:41 ID:lEsqcOve] × 汁 ○ 汗
63 名前:Now_loading...774KB mailto:sage [2007/08/24(金) 12:05:56 ID:uesSMLIk] onClipEvent(load){ Mouse.hide(); this.startDrag(true); } 上記をイベントハンドラメゾットで記述する場合はどうするのでしょうか? _root.pointer.load=function(){ Mouse.hide(); _root.pointer.startDrag(true); } としてみましたがダメでした・・・。
64 名前:Now_loading...774KB mailto:sage [2007/08/24(金) 12:18:31 ID:vW2YLMXV] 質問です。 SWFからASを抽出できるソフトってあるんですか? あったら教えてください。宜しくお願いします。
65 名前:Now_loading...774KB mailto:sage [2007/08/24(金) 12:50:03 ID:MMRc6Rmv] >>63 インスタンスにpointerってのがあるの? それなら、ターゲットパス一覧にも有りそうだが。
66 名前:Now_loading...774KB [2007/08/24(金) 15:43:52 ID:qG0MHHfC] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) 親MC消去で質問です。 親MC(oyaM)の中に子MC(koM)を配置して、koMを押すとoyaMが(koMも一緒に) 消えるようなASを書いていますが消えてくれません。 koMに書いたASは下の通りです。 on (release) { this._parent.removeMovieClip(); } どうしたら良いでしょうか?
67 名前:Now_loading...774KB mailto:sage [2007/08/24(金) 15:47:17 ID:KbsGqjNP] >>66 親MCっていうのは、あらかじめタイムラインにおいてあるムービークリップ? それとも、attachMovieとかでスクリプトから追加したムービークリップ? 前者だとしたら、それだと消えないと思うよ。
68 名前:Now_loading...774KB mailto:sage [2007/08/24(金) 15:48:58 ID:7hCp+LC2] FLASH MXを使用しています。 _rootに置いた、timeという名前とmyMCという名前のインスタンスがあります。 timeの方では onClipEvent(enterFrame){ dateobj = new Date(); } onClipEvent(enterFrame){ hour = dateobj.getHours(); } というスクリプトを書き、myMCの方では onClipEvent(load){ aaa = _root.time.hour; trace(aaa); } のようにしているのですが、trace(aaa)でundefinedとなってしまいます。 timeの中でtrace(hour)をしたら15のように出力されるのですが・・・ これは何が原因だと考えられるのでしょうか?
69 名前:Now_loading...774KB mailto:sage [2007/08/24(金) 15:53:25 ID:q4uBGDUr] >>67 レス有り難うございます。 設定は前者の方です。ということは消えませんね・・・・ 別の方法を探します。
70 名前:Now_loading...774KB mailto:sage [2007/08/24(金) 16:10:12 ID:7VdQ4Kxu] >>68 loadした時にはまだenterFrameのイベントは実行されてないからでは? loadをenterFrameにしてtrace()結果の2行目以降に値が表示されるなら、そうだと思う。
71 名前:Now_loading...774KB mailto:sage [2007/08/24(金) 16:20:29 ID:1OwmfRka] >>68 onClipEvent(enterFrame){ hour = dateobj.getHours(); trace("hour= "+hour);//確認用 } 一杯出てくるけどw
72 名前:Now_loading...774KB mailto:sage [2007/08/24(金) 16:41:32 ID:7hCp+LC2] >>70 ありがとうございます。 trace()を繰り返してみると、2行目以降に値が表示されました。 同じフレームでの実行だったので、どうやらmyMCの方が先に実行されてたようです・・・。 他のプログラミング言語でいう、Sleep()とかwait()みたいな関数って用意されてないのでしょうか?
73 名前:Now_loading...774KB mailto:sage [2007/08/24(金) 17:37:31 ID:4NYpyoJF] >>69 depthが1以上なら消えるはず。attachしてもdepthが1以下なら消えないはず。
74 名前:69 mailto:sage [2007/08/24(金) 18:28:02 ID:MJ2AZXwL] >>73 有り難うございます。消えました。
75 名前:Now_loading...774KB mailto:sage [2007/08/24(金) 22:05:24 ID:bFIOJMpP] サウンド(ボタンアクション)について質問です。 ボタンアクション(再生ボタン) on(release){ SoundA.stop(); SoundA = new Sound(_root); SoundA.attachSound("AAA"); SoundA.start(); } //ライブラリ内のサウンド(識別子"AAA") このScriptの書き方ですと、再生ボタンを押すとサウンドの重複は回避できますが 再生ボタンを押すたびにサウンドの頭からスタートしてしまいます。 出来れば、再生中は再生ボタンを押しても反応しない(無効)書き方にしたいんですが。 停止ボタンを押すことによって再び再生ボタンのアクションを有効にするやり方を教えてください。
76 名前:Now_loading...774KB mailto:sage [2007/08/24(金) 23:42:50 ID:JML/IxYr] >>75 Sound.onSoundComplete = function(){ 再生するフラグ = true; }
77 名前:Now_loading...774KB mailto:sage [2007/08/24(金) 23:53:36 ID:gMg4Xk8A] >>75 いちいちattachしないでstopとplayだけしてればいいんじゃないの。
78 名前:Now_loading...774KB mailto:sage [2007/08/24(金) 23:56:30 ID:S+yTP2Up] >>76 さっそくの回答ありがとうございました。 これをどこに記述すればいいのですか?あとフラグとはなんですか? すみません素人で。
79 名前:Now_loading...774KB mailto:sage [2007/08/25(土) 00:08:33 ID:hE6Fefjg] >>78 真面目かつ良識的にに書くと、flagとはif文などで 勃起(準備OK) = true 萎縮(今はダメなの) = false
80 名前:Now_loading...774KB mailto:sage [2007/08/25(土) 00:15:52 ID:fQZyWmzZ] >>78 どこに書くかはプログラム全体を見ないとわからない。
81 名前:Now_loading...774KB mailto:sage [2007/08/25(土) 00:23:11 ID:WMOJ/8D9] >>77 ご回答ありがとうございます。 もしよろしければ、一時停止ボタンの作成を教えていただたけませんか?
82 名前:Now_loading...774KB mailto:sage [2007/08/25(土) 02:32:03 ID:fQZyWmzZ] >>81 //再生再開 on(release){ SoundA.start(SoundA.position/1000, 0) } //停止 on(release){ SoundA.stop() }
83 名前:Now_loading...774KB mailto:sage [2007/08/25(土) 09:27:48 ID:jah+z/np] JavaからActionScriptに移ってきてJavaに似てるって喜んでたんですが、 もしかしてActionScriptでは画面の部分更新(領域を指定して画面に転送)は できないんでしょうか? addChildの処理は重いみたいなので画面サイズのスプライトの中で処理して 部分更新なんて考えてたんですが無理なのかな・・・。
84 名前:Now_loading...774KB mailto:sage [2007/08/25(土) 09:30:08 ID:dAihp5hQ] スプライトって何?
85 名前:Now_loading...774KB mailto:sage [2007/08/25(土) 09:52:50 ID:Me+/y7tq] paraflaかも
86 名前:Now_loading...774KB mailto:sage [2007/08/25(土) 09:55:58 ID:aSG+OSFh] >>83 画面サイズのBitmapData用意してそれを直接書き変えれば? というか、addChildで重いって、どんな物を作りたいの?
87 名前:Now_loading...774KB mailto:sage [2007/08/25(土) 09:59:03 ID:5jsZChmw] >>83 ムービープレビューで右クリ、再描画領域を表示をしてみそ
88 名前:Now_loading...774KB mailto:sage [2007/08/25(土) 10:58:46 ID:yP6Bwp/a] >>84 Sprite AS3.0で使うクラス >>83 毎回グラフィック用のSpriteを作ってaddChildしてるとか? うろ覚えだがENTER_FRAMEのイベントで Spriteの中のオブジェクト(RectとかCircle)を操作したら勝手に部分再描画になったような。
89 名前:Now_loading...774KB mailto:sage [2007/08/25(土) 11:28:41 ID:hM6+qsn1] >>83 ビットマップの話なのかベクターなのかはっきりしてから質問した方がいい。
90 名前:Now_loading...774KB [2007/08/25(土) 14:08:12 ID:LbNq99D/] MCが、0〜30フレームまでの間でrollout時に、逆再生させたいのですがわかりません。
91 名前:83 mailto:sage [2007/08/25(土) 14:31:11 ID:jah+z/np] すみません、明らかに勉強不足のようなので出直します。 addChildでかなり時間がかかるという記事を見たので、部分更新が出来る か気になって質問してしまいました。 >>86 さんの書き込みを見て希望が出てきたので、まずはしっかり勉強します。
92 名前:Now_loading...774KB mailto:sage [2007/08/25(土) 14:35:43 ID:dAihp5hQ] >90 mc.onRollOver = function() { this.onEnterFrame = function() { this.prevFrame(); }} これを基本にいじってみる
93 名前:Now_loading...774KB mailto:sage [2007/08/25(土) 21:38:51 ID:LRHJXgIf] >>91 希望が出てきたというか、>>87 や>>88 の言ってることが全てだとオモ レイヤー構造と、全てのオブジェクトが固有のタイムラインを持てることを知ればいい
94 名前:Now_loading...774KB mailto:sage [2007/08/26(日) 00:11:54 ID:J2+eBKoQ] >>93 でも>>91 の言うこともなんとなく分かる。 AS3.0始めた頃は 「SpriteにDrawして書く」 「MovieClipをClassにしてattachMovieみたいに使う」 「JCanvas使ってJavaみたく描画メソッド作る」 くらいの3パターン、どれがいいのか・・・と迷ったもんだ。 今でも処理効率で言えばどれが一番なのか分からんしね。 再描画領域指定できそうな3つ目かなと思ってたりするけど・・・ 一度テストしてみようかと思った。雑談すまそ。
95 名前:Now_loading...774KB mailto:sage [2007/08/26(日) 01:00:34 ID:y5uVf7Gu] その3つの選択肢なら使い分け用途がかなりはっきりしてるから迷うまでもない。 ビットマップなんていつでもコンバートできるんだから処理によって変換すりゃいいし。
96 名前:Now_loading...774KB mailto:sage [2007/08/26(日) 10:59:10 ID:1nX11mtB] >>95 速度は?
97 名前:Now_loading...774KB mailto:sage [2007/08/26(日) 16:47:37 ID:DMgdoKD0] AS3.0で導入された可変長引数を別の関数に渡すにはどうしたらいいんでしょうか? Cのように sprintf("%d: %s", 1, "リンゴ") で「1: リンゴ」を返すsprintfに可変長引数を 渡したいのですがどう渡していいのか分かりません。 現在は10個までとして以下のようにしてしまっています。 public function Trace(format:String, ... args):void { trace(sprintf(format, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9])); }
98 名前:Now_loading...774KB mailto:sage [2007/08/26(日) 17:55:04 ID:E9ow17w7] >>97 他の関数に渡すとかいう時点で、可変長引数使う意味ないだろw
99 名前:Now_loading...774KB [2007/08/26(日) 18:56:54 ID:VDOPw4zH] Fla6 AS1.0書き出しです。 ムービークリップをドラッグして投げられ、マウスを放すとだんだん減速して止まるようなスクリプトを書いています。 そこで問題です: ものすごい速さでマウスをドラッグしてリリースするとstopDragが効かず、MCがマウスに張り付いたままになってしまう。 かといってreleaseのほかにonDragOutも付けるとものすごい速さでマウスを動かすとdragOutが反応してしまい マウスを離さなくても飛んでいってしまう。 MCに書いているスクリプトは下記です。
100 名前:Now_loading...774KB mailto:sage [2007/08/26(日) 18:57:41 ID:VDOPw4zH] onClipEvent (load) { stat = 0; } onClipEvent (mouseMove) { updateAfterEvent(); } on (press) { stat = 0; this.startDrag(false); } on (release) { this.stopDrag(); stat = 1; x2 = _x; y2 = _y; speedx = (x2-x1); speedy = (y2-y1); } onClipEvent (enterFrame) { x1 = _x; y1 = _y; if (stat) { _x += speedx*2; _y += speedy*2; speedx = speedx*0.9; speedy = speedy*0.9; } }
101 名前:Now_loading...774KB mailto:sage [2007/08/26(日) 18:59:13 ID:VDOPw4zH] 改行が多くてERRORになるので分割しつれいします。 statは現在の状態を示す変数で、0のときは何もしていないかドラッグ中、 1の時は惰性で飛んでいる状態を示しています。
102 名前:Now_loading...774KB mailto:sage [2007/08/26(日) 19:06:29 ID:V6E00enf] 一定間隔でマウスボタンが押されているかどうかを判定すればいいんじゃね?
103 名前:99 mailto:sage [2007/08/26(日) 20:04:06 ID:VDOPw4zH] >>102 なるほど。。。 マウスに追随する透明のMCをつくってそれがhitしてるか enterFrameで判定してやってみます。
104 名前:99 mailto:sage [2007/08/26(日) 20:28:56 ID:VDOPw4zH] むー。うまくいきません。 領域外に出たとき「マウスが押されていない」というのをどう判定すればいいものか。。。
105 名前:99 mailto:sage [2007/08/26(日) 20:59:14 ID:VDOPw4zH] ttp://www.mother.co.jp/04_recruiting/diary/ このサイトなんですが、なんでブラウザ枠からカーソルが出ているのに ドラッグが継続されるんでしょうか? startDragでMCをドラッグした場合、ブラウザからはみ出たらMCが固まっちゃいますよね? そもそもstartDragを使わない方法なんでしょうか・・・
106 名前:Now_loading...774KB mailto:sage [2007/08/26(日) 21:03:54 ID:1nX11mtB] >>98 printf()系に渡すんなら意味があるんじゃないか? C言語ならva_listを使うんだけど。AS3でどうやるかは知らん、すまん。
107 名前:Now_loading...774KB mailto:sage [2007/08/26(日) 21:17:30 ID:YaiKwi7D] >>99 話もどしてしまうけど。。。 >releaseのほかにonDragOutも付けると releaseOutsideは試した?どちらかというとこっちじゃないか?
108 名前:99 mailto:sage [2007/08/27(月) 00:01:42 ID:/tJVCQPd] >>107 releaseOutsideなんてあったんですね・・・ 超基本的なことでしたね。解決しました!ありがとうございます!
109 名前:Now_loading...774KB mailto:sage [2007/08/27(月) 19:52:03 ID:+KoBV6ub] AS3.0について質問です class A { public staic function test1(){ trace("test1"); } } class B extends A{ static function test2(){ trace("test2"); } } こんな感じにAを継承したBというクラスがあります このtest1とtest2を実行した所 test2は問題ないのですがtest1に関して以下のようなエラーが出ます。 未定義である可能性のあるメソッド test1 を、静的型 Class の参照を使用して呼び出しました。 エラー内容がいまいちピン来ず、ヘルプを呼んでも直せませんでした。 間違いのある箇所を指摘していただきたいです。
110 名前:Now_loading...774KB mailto:sage [2007/08/27(月) 19:52:53 ID:+KoBV6ub] 追記 実行方法は B.test1() B.test2()を実行しました。
111 名前:Now_loading...774KB [2007/08/27(月) 20:35:46 ID:/CIW+tvt] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) loadMovieで読み込んだ画像のサイズを取得するにはどうすれば良いでしょうか? ASとして以下をボタンアクションon (press) 内に書いています。 this.stageM.loadMovie(name1+".jpg");//MC:stageM(300*300)に読み込む trace("wide="+this.stageM[name1+".jpg"]._width); 目的JPGは200*200のサイズですが、これだと wide= undefined が返ってきます。
112 名前:Now_loading...774KB mailto:sage [2007/08/27(月) 20:37:10 ID:pACmOEd0] classBに static function test1(){ A.test1() } がないとエラーになんじゃないかなそれは。
113 名前:Now_loading...774KB mailto:sage [2007/08/27(月) 20:41:29 ID:pACmOEd0] >>111 moviecliploaderのonloadinitをヘルプで調べるんだ 読み込み開始後すぐにはそ見込み後のサイズは取得できないはず
114 名前:Now_loading...774KB mailto:sage [2007/08/27(月) 21:03:03 ID:+KoBV6ub] >>112 継承してもBからはAの静的関数は実行できない仕様、と捉えて良いのでしょうか AS2.0と同じように扱えると思っていました、解答ありがとうございます。
115 名前:111 mailto:sage [2007/08/27(月) 21:13:41 ID:/CIW+tvt] >>113 早速のレス有り難うございます。ヘルプを読み、ましたが 「ロード対象クリップの先頭フレーム上のアクションが 実行されたときに呼び出されます。」 の意味が分かりません。別の表現だとどうなるのでしょうか?
116 名前:Now_loading...774KB mailto:sage [2007/08/27(月) 21:21:13 ID:pACmOEd0] >>115 「完全に外部ムービーが読み込まれ、画面に表示され、幅や高さなどをスクリプトから取得できる 準備ができたら、このイベントハンドラに指定しておいた処理が実行されます。」ってこと。 つまり、このイベントが起きる前に幅や高さを取得しようとしても、まだ読込中なのでundefinedになるってこと。 イベントハンドラって何?ってのはがんばって勉強してくれ、としか言えない。
117 名前:111&115 mailto:sage [2007/08/27(月) 21:22:57 ID:/CIW+tvt] >>116 さんきゅうです。引き続き、やってみます。 とりあえず、画像は表示されます。
118 名前:111&115 mailto:sage [2007/08/27(月) 22:11:29 ID:/CIW+tvt] (連投すいません) MC:stageMのイベントハンドラとして this.onLoadInit = function() { trace("-OK-"); }; を書きました。JPGの読み込みが終了したら出る筈なのですが、 5秒位待っても -OK- が出ません。
119 名前:Now_loading...774KB mailto:sage [2007/08/27(月) 22:23:15 ID:AajI9Cl/] >>118 onLoadInitはMovieClipLoaderクラスのリスナーだから そのASでは何秒待っても-OK-はでません。 ヘルプでMovieClipLoaderを調べるんだ。そしたら例が載ってるから。
120 名前:Now_loading...774KB mailto:sage [2007/08/28(火) 00:10:30 ID:LKGdZc2X] >>114 ttp://www.fumiononaka.com/TechNotes/Flash/FN0612002.html
121 名前:111&115 mailto:sage [2007/08/28(火) 01:16:14 ID:erJeZUhX] >>119 度々ありがとうございます。 ヘルプと本を見てrootのイベントハンドラとして下の様に書きました。 myJpg = new MovieClipLoader(); mcListner = new Object(); mcListner.onLoadInit = function(stageM) { trace("-OK-"); }; myJpg.addListener(mcListner); 相変わらず画像は出ますが、まだOKが出ません。 重ね重ね申し訳ありません。間違いをご指摘願います。
122 名前:Now_loading...774KB mailto:sage [2007/08/28(火) 01:35:20 ID:hlBUaXHU] >>121 画像を読み込みたかったんじゃないの?そのASは何を読み込んでるの? ヘルプに載ってる例をまるまるコピーすればいいと思うんだけど。 あと試すときはローカルじゃなくてweb上でね。
123 名前:Now_loading...774KB mailto:sage [2007/08/28(火) 01:38:13 ID:hlBUaXHU] >>121 あ、ごめん画像は出んだ。 web上で試すときはtrace()使えないからテキストフィールドとかに出力。
124 名前:111&115 mailto:sage [2007/08/28(火) 02:48:43 ID:erJeZUhX] >>122-123 一旦話をまとめたいと思います。 目標: MC(stageM)にロードしたJPGの大きさを取得したい(最初は横幅のみでOK) 流れ: this.stageM.loadMovie(name1+".jpg");//MC:stageM(300*300)に読み込む ※これは可能 ↓ MovieClipLoader.onLoadInitイベントリスナーを使って画像情報を取得したい rootのイベントハンドラとして: myJpg = new MovieClipLoader(); mcListner = new Object(); mcListner.onLoadInit = function(stageM) { trace("-OK-"); //動作確認でOKを出す }; myJpg.addListener(mcListner); ↓ しかし、このOKが出ない。 改めて、問題点のご指摘を願います。
125 名前:Now_loading...774KB mailto:sage [2007/08/28(火) 03:08:18 ID:hlBUaXHU] >>124 myJpg.loadClipが無いんじゃない? 試すときはローカルじゃなくてweb上で。
126 名前:111&115&124 mailto:sage [2007/08/28(火) 04:01:21 ID:erJeZUhX] >>125 有り難うございます。幅が取得できました。 関連ASは以下の通りです。 myJpg = new MovieClipLoader(); mcListner = new Object(); mcListner.onLoadInit = function(stageM) { trace("-OK-"); trace("wide= "+stageM); // ok = "-OK-";//テキストフィールドokに出力 wide = stageM._width;//テキストフィールドwideに出力 }; myJpg.addListener(mcListner); on (press) { myJpg.loadClip(name1+".jpg", stageM);//MovieClipLoaderクラス用にloadClip() } Web上の動作を推奨されていますが、ローカルでも wide= 200 と、JPG の横幅が得られました。 重ねて御礼申し上げます。
127 名前:Now_loading...774KB mailto:sage [2007/08/28(火) 14:24:19 ID:QxMZY+P1] よろしくお願いします。 winXP/FlashCS3/AS2.0です。 mainMCがクリックされた際、 mainMCの中にsubMCを複製したいです。 MCの中にMCを複製する事は可能ですか? mainMCに下記を記述してみましたがMCは複製されませんでした。 on (release) { _root.mainMC.duplicateMovieClip(_root.subMC,"subMC_d",dep); } ※depは複製されたMCの通し番号が入ります どのように記述すればMCの中にMCを複製できるのでしょうか。
128 名前:Now_loading...774KB mailto:sage [2007/08/28(火) 18:08:07 ID:Dv9/WtcH] >>127 _rootにsubMCがない MCにsubMCという名前がついていない(プロパティ) 生成するMCの名前が同じ 気になるのはこんなところ。
129 名前:Now_loading...774KB [2007/08/28(火) 23:10:41 ID:NsBwdnrq] FLVを再生時に、再生している途中で、 また頭から再生したいという場合は、どのような記述を すれば実現できるのでしょうか? 現在、ボタンに以下のようなスクリプトを記述しているんですが 反映されません。 ムービーの再生が終了すると反映されます。 宜しくお願いします。 ボタン// on (press) { my_FLVPlybk.play(); } //FLV再生命令(フレームアクション) import mx.video.*; my_FLVPlybk.autoPlay = false; my_FLVPlybk.contentPath = "test.flv"; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object) { my_FLVPlybk.seekSeconds(0); my_FLVPlybk.play(); }; my_FLVPlybk.addEventListener("ready", listenerObject);
130 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 12:16:15 ID:UEebW6WD] AS初心者ですが質問させてください WinXP,FlashMX2004使ってます ゲームを作っていて、LANで繋がれたパソコン同士でハイスコアを表示させたいと思っています。 loadVariablesでテキストファイルから変数を読み込んで、(hscore=1000のように) それをhiscore=parseFloat(hscore); で変換するとhiscore=NaNになってしまいます。 変数のリストアップをするとhscore="1000"は読み込めています。 恐らく面倒なことをやっているような気がするのですが、 何かいい方法は無いでしょうか? お願いします。
131 名前:130 mailto:sage [2007/08/29(水) 12:19:35 ID:UEebW6WD] 連投すいません。訂正でパソコン同士ではなくてローカルサーバーに繋がっています
132 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 12:32:39 ID:si3eNAOb] >>130 Flash単体では書き出しが出来ないので、CGI(PHPとか)をLoadVarsで使って、 サーバーのテキストファイルに書き出し、読み込みをする。
133 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 13:07:53 ID:Vvfpu2qg] >>130 スコアが整数のみなら、 hiscore=Number(hscore); でもいいと思うけど。 ただ、parseFloat関数でも hscoreに"1000"が入ってれば数値に変換されるはずだから、 関数呼び出し位置に問題があるような気がする。 試しにテキストの内容に関わらず、parseFloat関数呼び出す直前で hscore="1234"; hiscore=parseFloat(hscore); とhscoreに直接文字列突っ込んだ後parseFloatするなりして、その結果を見てみたら?
134 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 18:59:09 ID:ryuPbw4d] 厨房みたいな質問で悪いんだが、ホンキで気になったので質問させてほしい ニコニコ動画のコメントのID割り出しツールがあるけど、あれって一体どういう仕組み・・・? コメントCSVやチャットサーバからのレスポンスに、実はIDも記述されてて、 それを取得するような改造版FLVPlayerを、標準Playerとすり替えてUIにしてるのかな? 予想で構わないので何かレスポンス希望
135 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 19:05:28 ID:2eY6RUaR] 超能力に米俵一票
136 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 19:45:13 ID:I2MUZift] >134 IDも送ってくんだよ。ツールに解説あるんじゃね?
137 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 20:15:57 ID:lfB2oEQ3] すいません、ひとつ質問させてください。 AS3.0で、Javaサーバーとソケット通信するFlashを作成していて、確立するためのポリシーファイルについて質問です。 function start_connect(address,port) { Security.loadPolicyFile("xmlsocket://" + address + ":" + port); socket.connect(address,port); } 上記の様なコードの時、loadPolicyFileでポリシーファイルを受け取る前に.connectメソッドが動いてしまいそうなのですが、大丈夫なのでしょうか? loadPolicyFileの戻り値も無いみたいですし・・・。
138 名前:130 mailto:sage [2007/08/29(水) 20:35:09 ID:UEebW6WD] >>132 >>133 レス遅れてしまいましたが答えて下さりありがとうございます! まず133の方法で試してみたのですがNumberでもだめでした。NaN 直前に hscore="1234"; を入れてみると1234になったのですが 同じ位置に試しにparseFloat入れてもダメでした… そこで132さんのCGIについて調べてみた所、それっぽい記述があったので CGI全く触ったことありませんが、ちょっとがんばってみます。 どこかにサンプルがあればそれを参考にしようと思います。 ありがとうございました
139 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 22:06:31 ID:ryuPbw4d] >>137 ポリシーファイル系の処理はLoader系と違って完了するまで優先的に処理されるから大丈夫
140 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 00:00:23 ID:obah/Nnl] >>139 なるほど、安心しました。 どうもありがとう! ネット対戦ゲーム作ってる人って自分以外にこのスレでいますかな。
141 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 01:38:51 ID:F5vZDKIg] >>140 むしろ、ゲー製板があるがな。 pc11.2ch.net/gamedev/
142 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 01:45:37 ID:g1hvaqqN] >>141 その板のFLASH系もう過疎ってだめぽ
143 名前:Now_loading...774KB [2007/08/30(木) 13:22:29 ID:ljrzh0lg] FlashCS3 AS3 クラスから stage.addEventListener(KeyboardEvent.KEY_UP, keyCheck); とかするとstageがnullとかエラーが出てしまいます。 stageなしだとフォーカスが必要とのことですが、 "マウスクリックしてフォーカス"とかなしで キー入力対応させるにはどうしたらよいですか?
144 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 14:06:05 ID:fxDqXm13] 意味がよくわからんけど、stageプロパティ使いたいならそのクラスに DisplayObject含むクラス継承させときゃいいんじゃね?
145 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 14:07:55 ID:fxDqXm13] あと、ムービーにフォーカスが無い時のキーボードイベント拾う事は不可能。 それできたらパスワードの入力の時とかにキーのログ拾われるから禁止になった。
146 名前:Now_loading...774KB [2007/08/30(木) 14:35:40 ID:ljrzh0lg] >>144 レスありがとうございます。 public function Stopwatch(initTime:Number=3) { timetotal = initTime*60; outputText = new TextField(); outputText.text = timetotal; addChild(outputText); myTimer = new Timer(1000,timetotal); myTimer.addEventListener("timer", counter); stage.addEventListener(KeyboardEvent.KEY_UP, keyCheck); } public function keyCheck(event:KeyboardEvent) { trace(event.keyCode); myTimer.start(); } なにかキーを押したらTimerのカウント数を表示するだけのクラスなんですが、 stage.addEventListener(KeyboardEvent.KEY_UP, keyCheck); を addEventListener(KeyboardEvent.KEY_UP, keyCheck); とすればカウントが表示されるのですが、 テキストフィールドにフォーカスしないとキー入力を受け付けてくれませんでした。 調べたらstage.を書かないとフォーカスなしでは動かないとのことなので 書いたのですが今度はエラーが出てしまいました。 DisplayObjectを入れろとのことで、 import flash.display.DisplayObject; としたらエラーは出ないのですがテキストが表示されなくなりました。 stage.addChild(outputText);とかにしても同じでした。
147 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 15:06:42 ID:udV3bP6I] そもそもそのクラスは何を継承してるの?
148 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 15:32:11 ID:fxDqXm13] こんなで、 package { import flash.display.Sprite;import flash.utils.Timer;import flash.events.*; import flash.text.TextField; public class TimePanel extends Sprite { var myTimer:Timer,_t:TextField; public function TimePanel() { _t = new TextField();_t.text = "100";addChild(_t); myTimer= new Timer(1000); myTimer.addEventListener(flash.events.TimerEvent.TIMER , counter); setEvent(); } public function setEvent() { if (stage) { trace("画面に追加されてます"); stage.addEventListener(KeyboardEvent.KEY_UP, keyCheck); } else { trace("画面に追加されてません"); } } public function counter(e) { _t.text = String(Number(_t.text)-1); } public function keyCheck(e) { trace(e.keyCode);myTimer.start(); } } }
149 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 15:33:20 ID:fxDqXm13] うごかすにはこんなじゃね? var t=new TimePanel() addChild(t) t.setEvent() ようするに、stageまで辿りたいなら表示リストに乗っけないと駄目なんでない?
150 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 15:36:42 ID:fxDqXm13] あとは、FlashCS3だったらドキュメントクラスにしときゃ、stageで確実にStage拾えるんじゃね?
151 名前:Now_loading...774KB [2007/08/30(木) 16:09:44 ID:ljrzh0lg] >>148-150 これの追加でいけました!ありがとうございます。 stopwatch.setEvent(); public function setEvent() { if (stage) { trace("画面に追加されてます"); stage.addEventListener(KeyboardEvent.KEY_UP, keyCheck); } else { trace("画面に追加されてません"); } }
152 名前:Now_loading...774KB [2007/08/30(木) 16:19:13 ID:zj2bgIKw] FLASHでflvファイルを消音状態で表示したいと思い、ググッてみたらこの情報を見つけたのですが ttp://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=1195&forum=8 >MovieClip.attachAudio()メソッドを使って、音源のNetStreamインスタンスを、コントロール対象のMovieClipに接続する必要があります。 > // サウンドコントロールの対象にするMovieClipをmy_mcとした場合 > var my_sound:Sound = new Sound(my_mc); の辺りがよく分かりません、new Soundのカッコ指定用にストリーミングビデオをMCシンボルに変換が必要? と思い、ビデオをmy_mcにシンボル変換してみましたが、やはり音は消えませんでした 現状ではムービーは普通に再生されますが、消音できてない状態です 因みにrootの階層にストリーミング形式のmy_videoを配置しています どなたらアドバイスをお願いします・・・
153 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 16:19:16 ID:upfWoDgo] ずっとhtml+JSは書いていて、 最近フラッシュを始めました。 質問ですが、ASでは、 (function(){ trace("asdf") })() と書いても動かないものなのでしょうか? 環境は、Flash8Pro + MacOSX です。 よろしくお願いします。
154 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 16:50:12 ID:udV3bP6I] >>152 変換じゃなくて適当なMCが必要なだけだから空のMC作って指定してあげれば いいだけ。
155 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 16:58:02 ID:zj2bgIKw] >>154 消音されるようになりました!どうもありがとうございます!
156 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 17:09:12 ID:fxDqXm13] >>153 8(AS2.0)だとそれは動かなかった気がする。 いまCS3(AS3.0)で試したら動いた。
157 名前:153 mailto:sage [2007/08/30(木) 17:44:40 ID:upfWoDgo] >>156 ありがとうございました。 うpでーたん買いに行ってきます! (((;;;:: ;: ;; ;; ;:;::)) ::) ( ::: (;; ∧_,∧ );:;;;)) )::: :; :)) ((:: :;; (´・ω・)っ;;;; ; :)) ((;;; (っ ,r どどどど ど・・・・・ i_ノ┘
158 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 00:27:00 ID:zmW3hsvO] こんばんは。CS3のAS3.0でFLASHを作成しています。 キーボードの操作を作成していてこう記述しました。 stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownEvent); function KeyDownEvent(event:KeyboardEvent) { trace(event.keyCode) } この処理でひとまずキーの押下を試していたのですが、 CTRL+ENTERでパブリッシュするとZキーが反応しません。 おそらく「90」が表示されると思うのですが・・・何故か無反応です。 他にもAキー等も利かず。 試しにキーコードをテキストに表示する処理を作り パブリッシュ後のswfファイルを開くとZキーも反応しました。 このイベントリスナーはCS3でパブリッシュ中に不具合でもあるのでしょうか。
159 名前:158 mailto:sage [2007/08/31(金) 00:44:58 ID:zmW3hsvO] すいません、Zキーを押すと拡大ツールになるみたいでした。 キーボードのショートカットをオフにしたら反応しました。 しかし、キー全部使うような場合はどうするんでしょう・・・全部オフにするのかな。
160 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 01:23:20 ID:3OIPOoFY] >159 糞仕様です。プレビューでショートカットの無効を試してください この回答で問題は解決しましたか?
161 名前:158 mailto:sage [2007/08/31(金) 07:59:21 ID:zmW3hsvO] >>160 回答ありがとうございます ツールのキーショートカットを全部削除したものを作りました。 その質問に「はい、解決しました」を選べた試しがないです(笑)
162 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 15:08:43 ID:bEb8PNaZ] ウィンドウズXPでFLASH8を使っています。 createTextFieldでテキストフィールドを作った後に、setTextFormatでテキストフォーマットを指定しています。 その後中のテキストを変えるとフォーマットが勝手に変更(デフォルトへ?)されてしまうのですが何か良い回避方法は無いでしょうか? 今はテキストが変更されるたびに同じテキストフォーマットをぶちこんでるのですが処理の重さの方が気になります こんな感じです _root.createTextField("test", 0, 0, 0, 300, 300) fmt = new TextFormat(); fmt.size = 24; test.setTextFormat(fmt); test.text = "1行目\n"; test.text += "2行目"; test.setTextFormat(fmt);//これが無いとテキストフォーマットが解除されてしまう 質問の仕方が下手で申し訳ない・・・
163 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 15:12:45 ID:xAIasgsE] setNewTextFormat
164 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 15:17:26 ID:bEb8PNaZ] 素早い回答ありがとうございます! 試してみましたがこれでかなり処理が軽くなりそうです
165 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 16:00:46 ID:hscyW3hW] CS3 AS3で作ってるんですが Timerで3分のカウントダウンタイマーを作ってるんですが OSの時計より5秒も遅れてしまいます。 これって普通なんでしょうか?
166 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 16:31:25 ID:hyV6m2mV] >>165 タイマー開始は、ボタンのon(press)/on(release)で動作? on(press)なら押した瞬間からだからね。 1分や10秒のタイマーも試した? マシンのパワーによっては動作(反応)が遅くなることがあるけど。
167 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 17:28:05 ID:Zygq0bfq] もしかして1秒たったら+1するイベントを実行していたりして。
168 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 17:39:16 ID:hscyW3hW] >>166 キーアップです。1分で2秒遅れ、10秒なら問題がないくらいです。 ただ、時計とどんどんずれていってしまいますのでイベントのタイミングはないようです。 マシンパワーはPenM1.73GHzなんですがどうなんでしょうか。 スクリプト public function Stopwatch(initTime:Number=3) { outputText = new TextField(); outputText.autoSize = TextFieldAutoSize.LEFT; timetotal = initTime*60; outputText.text = String(timetotal); addChild(outputText); myTimer = new Timer(1000,timetotal); myTimer.addEventListener("timer", counter); }
169 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 17:40:00 ID:hscyW3hW] public function setEvent() { if (stage) { trace("画面に追加されてます"); stage.addEventListener(KeyboardEvent.KEY_UP, keyCheck); } else { trace("画面に追加されてません"); } } public function keyCheck(event:KeyboardEvent) { if(event.keyCode == 32 && !keyFlg){ keyFlg = true; myTimer.start(); }else if(event.keyCode == 32 && keyFlg){ keyFlg = false; myTimer.stop(); } } public function counter(event:TimerEvent):void { outputText.text = String(timetotal - myTimer.currentCount); } です。
170 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 18:42:39 ID:xAIasgsE] >>168 currentCountはハンドラが呼ばれた回数だから、それを時間計算につかうのはどうかと。 秒以下なりの端数の丸めが生じるから、表示が秒単位ならずれは1秒のずれは出る。 timerをストップするタイミングとスタートするタイミングでもずれは生じるよね。
171 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 18:49:54 ID:VwDRt4nd] ヘルプよりTimer オブジェクトについて --------------------------------------------------------------------- SWF ファイルのフレームレートまたは Flash Player の環境 (使用可能なメモリやその他の要素) に応じて、 Flash Player ではややオフセットの間隔でイベントを送出できます。 ~~~~ たとえば、SWF ファイルを 10 fps (1 秒あたりのフレーム数)、 つまり 100 ミリ秒間隔で実行するように設定し、 80 ミリ秒でイベントを発生するようにタイマーを設定すると、 Flash Player ではおよそ 100 ミリ秒間隔でイベントが実行されます。 また、メモリに負荷のかかるスクリプトでも、イベントがオフセットされる場合があります。 --------------------------------------------------------------------- ただし割り切れる数、仮に10fpsで1000ミリ秒間隔で実行するようにしてもずれてくる(と思う)。 Flashに限らずあらゆるプログラムのタイマーイベントは"約"○秒間隔で実行されるものと覚えておいた方が良い。 今回のタイマーイベントは経過時間描画更新用にでもしておいて、 実際何秒経ったかの計算は、タイマー開始時の時間をgetTimer()で取得して保持しておき 描画更新タイマーイベントの度にこの時の時間をこれまたgetTimer()で取得、 そんで保持しておいた開始時の時間との差分を計算して 結果を経過時間として表示がベターでありセオリーかな。 描画更新用タイマーの間隔を1000ミリ秒にすると最初の理由で時々秒数が2秒飛んで表示されたりするはずだから、 気になるなら描画更新イベントを呼ぶ間隔を100ミリ秒なりfpsが許すまで気にならないレベルに落とせば良いと思う。
172 名前:Now_loading...774KB [2007/08/31(金) 23:08:28 ID:agiUkJyo] FlashMX2004です。クラスの利用についての質問です。 クラスを管理しやすくするために、FLAファイルと同階層に MCControlフォルダと、Managementフォルダを作り、 MCControlフォルダにCursor.as、Managementフォルダに Condition.asを配置しました。 ここで、Cursor.asで、Conditionを使おうとして class Cursor { var condition:Condition; } とすると、「クラス'Condition'がロードされませんでした」というエラーが出ます。 importしようとして、 import Management.*; class Cursor { var condition:Condition; } としても、解決できませんでした。 どうすれば、別フォルダにあるクラスを利用することができるのでしょうか?
173 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 02:37:23 ID:fOe1T35u] FLASH5使ってます ムービークリップのアクションに記述した変数の中身を 別のフレームのムービークリップやフレームのアクションから 読み込みたいのですが、可能ですか
174 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 07:00:10 ID:8k8KBU5/] >>172 パブリッシュ設定画面でActionScriptのバージョンリストの横にある設定、 そこでクラスフォルダを指定できる場所があると思うからそこに MCControlとManagementフォルダパスを指定すればいける、かも。
175 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 11:10:06 ID:lM5AHOi+] >>172 パッケージとして使うなら class MCControl.Cursor {
176 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 12:30:56 ID:+bO+o6yA] >>173 パスを使う。例えば、MC名がxxxで変数がyyyなら、 絶対パスでは、_root.xxx.yyy
177 名前:172 mailto:sage [2007/09/01(土) 12:48:19 ID:or8PVano] ご解答ありがとうございます。 >174 相対パス指定、絶対パス指定の両方をためしたのですが、状況は 変わりませんでした。 >175 class MCControl.Cursor { var condition:Condition; } としてみたのですが、状況は変わりませんでした。 また、念のため class MCControl.Cursor { var condition:Management.Condition; } および、Condition.asを class Management.Condition{ //処理 } として試してみたのですが、同様に状況は変わりませんでした。 なお、エラーは「シンタックスチェック」ボタンを押したさいに出ます。 FLA精製時には、エラーメッセージは出ません。 ※クラスファイルで別クラス読み込むさい、「../」といった方法あればいいのですが……
178 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 12:57:01 ID:5nF/Lifr] >>177 環境設定のクラスパスに追加汁
179 名前:172 mailto:sage [2007/09/01(土) 13:17:41 ID:or8PVano] ご回答ありがとうございます。 >178 「環境設定」から、MCControlとManagementのパスを追加したところ class MCControl.Cursor { var condition:Management.Condition; } だと状況に変化はなかったのですが、試しに class MCControl.Cursor { var condition:Condition; } としたところ、「コンパイルされたクラス'Management.Condition'が 読み込まれたクラス'Condition'に一致しませんでした」という、別の エラーが帰ってきました。 (「クラスをコンパイル」した覚えはないのですが……) なお、Condition.asは前回と同様 class Management.Condition{ //処理 } です。
180 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 13:36:28 ID:lM5AHOi+] クラスパス追加するからエラーがでるんだろ。 追加するのはクラスのルートディレクトリだけな。でコンパイルするときはASO 削除してから。
181 名前:Now_loading...774KB [2007/09/01(土) 13:47:57 ID:+bO+o6yA] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) SharedObjectのディレクトリについて質問です。 localSO = SharedObject.getLocal(saveName1, "/"); と localSO.flush(); で、saveName1という名前でHDDのlocalhost内にデータを保存させることは 出来ました。 次にlocalhostの下に、ASで任意の名前のディレクトリ(例えばFolder1)を作って 保存したいのですが、これは可能でしょうか? solファイルが増えることを想定して、ディレクトリ名で管理したいと思っています。
182 名前:172 mailto:sage [2007/09/01(土) 14:05:18 ID:or8PVano] ご解答ありがとうございます。 >180 ルートディレクトリを「フルパスで」設定したところ、エラーが出ずに 無事表示されました。ありがとうございました。 ただ、一つ疑問なのですが、環境設定ではすでに クラスパスとして「.」が登録されていました。 これは、FLAファイルがおかれているディレクトリを指すのだと 思うのですが、なぜ改めてフルパスで指定しなければ うまく動かなかったのでしょうか? ※今後、複数のFLAファイルを作っていく際に、「そのFLAのある ディレクトリがクラスのルート」という指定ができてくれれば 編集のたびにいちいち環境設定を変更しなくても良くなるのですが……。
183 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 14:44:20 ID:/szJRb7p] >>182 ファイルからの相対パスじゃなくて 実行プログラムからの相対パスだからじゃね? よく知らんけど
184 名前:172 mailto:sage [2007/09/01(土) 15:09:44 ID:or8PVano] ご回答ありがとうございます。 >183 私は実行ファイルを「appli」フォルダに入れていたので、そこからの 相対パス「..\」をクラスパスに設定したところ、問題なく動作いたしました。 ありがとうございました。 >172からの質問は、これにて終了いたします。 皆様、本当にありがとうございました。
185 名前:158 mailto:sage [2007/09/01(土) 15:20:03 ID:e1mE+muK] >>181 ディレクトリ操作は無理じゃないかと。 FLASHから勝手にフォルダ作られちゃ困るでしょ
186 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 19:10:34 ID:5nF/Lifr] >>181 第2引数で指定すりゃいんじゃねーの
187 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 19:53:32 ID:or8PVano] FlashMX2004 Professionalです。 私は>172ですが、別件の質問をさせていただきます。 アニメーションするマウスカーソルを作ろうとしているのですが、 このアニメーションを、複数の外部JPEGを読み込むことで 実現しようと考えています。(いわゆるパラパラ漫画のようにする) ぱっと思いつくのは、setIntervalを使って、短い時間に次々と MovieClipLoader.loadClip()でJPEGファイルをロードする方法ですが、 アニメパターンごとにloadClipするのは明らかにまずいように思いますw あらかじめ画像全体をメモリに読み込んでから、表示時jにメモリへ アクセスするとか、そう言った「外部ファイルのアニメ表示」のアイデアには どういうものがあるのでしょうか?
188 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 19:58:31 ID:0t02gU5O] >>181 >>186 "/"で指定できるのはswfのurlに含まれるディレクトリ C:\Documents and Settings\hoge\test.swf の場合 "/Documents and Settings"でlocalhost内にDocuments and Settingsと言うフォルダが出来る。 (webでも大体同じ) 残念ながら任意の名前は指定できない。
189 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 20:06:21 ID:5nF/Lifr] /以下の任意のディレクトリ構成は可能じゃなかったっけ?
190 名前:181 mailto:sage [2007/09/01(土) 20:16:42 ID:/2GjwLFq] >>185 ,186 ありがとうございます。第2引数では駄目でした。 やはり、ディレクトリはlocalhost固定のようです。
191 名前:181&190 mailto:sage [2007/09/01(土) 20:20:26 ID:/2GjwLFq] >>181-189 すいません。このスレをリロードせずに書き込んでいました。 一応、下に1個は作成できるということですか?
192 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 20:37:41 ID:5nF/Lifr] >>191 ああ、第2じゃなかった 第1引数の方で"savedir/savedata"とかでやってみてちょ
193 名前:181&190 mailto:sage [2007/09/01(土) 21:47:09 ID:/2GjwLFq] >>192 有り難うございます。 path1 = "subhost/"; localSO = SharedObject.getLocal(path1+saveName1, "/"); とすると、#subhostフォルダ(シャープが付く)が作成され、その中に saveName1.solが保存されました。 なお、第2引数 "/"が無い場合は、path1で指定した名前に関わらず Flashで勝手に ##EE6383F9C6・・・・ などというフォルダが作られ、 その中に00000001.solというものが出来ます。 よって第2引数も 必須のようです。
194 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 22:47:04 ID:/9LeuBUy] >>187 試してないから出来ないかもしれないけど 1 2 3 4 レイヤー1:mc1 レイヤー2: mc2 レイヤー3: mc3 ってMC置いといて 4フレーム目でそれぞれのMCに画像読み込んで 1〜3フレームをループすればできそう。
195 名前:188 mailto:sage [2007/09/01(土) 23:14:26 ID:0t02gU5O] >>192 おお、気が付かなかった、勉強になった。
196 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 23:28:54 ID:GOhTES9R] >>187 それ、一枚ごとに読み込まなきゃいけないの? アニメにするつもりなら、swfとかflvみたいなひとかたまりにしておいた方がよくないか?
197 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 23:46:13 ID:Apz3GuwA] 標準カーソル隠してカーソルの位置にアニメーションするMC、だけで済むだろうに・・ まさかFlexで作ってるとかじゃあるまい?
198 名前:187 mailto:sage [2007/09/02(日) 00:03:21 ID:JKrAf2BC] ご回答ありがとうございます。 >194 ありがとうございます。あらかじめ複数配置しておくのは盲点でした。 ただ、loadClipするときは、そのフレームで対象となるmcが配置されて いる必要があるので、下のレイヤーを前のフレームに配置し 後のフレームを上に重ねるようにすればできそうです。 (この場合、複数のmcがカーソルの中で重なっているので のちの仕様変更(透過PNGを使うなど)の歳にもう一度考えないと いけないとは思いますが、当分はこの手でしのげそうです) >196>197 発注元からの指示が「Flashがなくても絵柄を変更できるように PhotoShopで扱える画像で頼む」とのことでしたので、こんな方法を 取っています。Flash8以降ならPNGを使えれば透過もできて最高なのですが 開発環境がMX2004なので、やむなくJPEGで納得してもらっています(´・ω・`)
199 名前:Now_loading...774KB mailto:sage [2007/09/02(日) 04:28:56 ID:o3hqjAWm] プロジェクターについて質問なのですが、 例えばウィンドウのクローズを押された時に『終了しますか?』というようなダイアログを出したいのですが FLASH側でクロ−ズを取得するコマンドってありますか?
200 名前:Now_loading...774KB [2007/09/04(火) 16:40:25 ID:y0mjhuPr] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) SharedObjectの新規ディレクトリ(フォルダ)について path1 = "subhost/"; localSO = SharedObject.getLocal(path1+saveName1, "/"); とすると、#subhostフォルダ(シャープが付く)が作成され、その中に saveName1.solが保存されました。 ここで作成とは反対に、作成ディレクトリ(フォルダ)の削除と名前の変更を 試みていますが、両方出来ません。 削除・変更は、(セキュリティ上)OSの機能を使わないとやはり駄目なのでしょうか? なお、新規ディレクトリ内のsolファイルの削除は、saveName1を定義して localSO.clear(subhost); でOKでした。
201 名前:Now_loading...774KB mailto:sage [2007/09/04(火) 20:32:37 ID:5sDI9kzh] 無理じゃないの? てかそれ目的はなに?
202 名前:Now_loading...774KB mailto:sage [2007/09/04(火) 20:47:43 ID:5sDI9kzh] ちなみにプレーヤーの設定画面でローカル記憶領域を0にすれば 該当ドメインのsolをフォルダごと消せるけど それではだめなの?
203 名前:Now_loading...774KB mailto:sage [2007/09/04(火) 21:16:53 ID:yJHGSOK3] 質問なんですが、 とある本に、あるMCがマウスカーソルの動きに 遅れてついてくるスクリプトが書いてあり、 マウスカーソルの位置でピタリと止まるには onClipEvent ( EnterFrame ) { if ( _x < int ( _root._xmouse/10)*10) { _x+=10; } else if ( _x > int ( _root._xmouse/10)*10 { _x-=10; } if ( _y < int ( _root._ymouse/10)*10) { _y+=10; } else if ( _y > int ( _root._ymouse/10)*10 { _y-=10; } } と、目標地点を移動量刻みに分割しろと書いてあったのですが、 同じようじ書いてもMCがカーソルのところで止まってくれません、 どこがいけないんでしょうか?
204 名前:Now_loading...774KB mailto:sage [2007/09/05(水) 00:25:26 ID:E+VHtrAA] サウンドプレーヤー作成にて質問です。 目的はループ再生(もしくは“100回”など)なんですが、一時停止後 //再生再開 on(release){ Sound1.start(Sound1.position/1000, 0) } と、ボタンアクションに記述すると、一時停止したその曲で終わってしまいます。 この記述のどこに変更、もしくは足せばループ再生的な事ができますか? ループの回数は30回もあれば十分なので。よろしくおねがいします。
205 名前:Now_loading...774KB mailto:sage [2007/09/05(水) 00:46:02 ID:n30z77if] >>203 MCの移動量が10刻み、1にしたら多少マシになるかも >>204 onSoundComplete = function(){ Sound1.start();}
206 名前:Now_loading...774KB mailto:sage [2007/09/05(水) 01:00:45 ID:STXMbf8o] >>203 MCの位置とマウスの位置が10(移動量)以内なら、 MCの位置にマウスの位置を代入するようにする。
207 名前:Now_loading...774KB mailto:sage [2007/09/05(水) 01:01:52 ID:Lv8sVb/D] 眠くて頭が回んないので、気づいたとこだけ答えると、 >203 int()はMath.int()のまちがいじゃまいか。 あと、そのスクリプトは構文エラーなので、括弧の閉じ方とか 予約語などをもう一度見直した方がいい。 なお、そのスクリプトでどういう動きをしたいのかが分からないが、 「遅れてついてくるMC」なら、俺はこうする onClipEvent ( enterFrame ) { _x -= (_x - _root._xmouse) / 10; _y -= (_y - _root._ymouse) / 10; } >204 ボタンアクションにそーゆーことを記述するのはめんどいのでオススメしない。 (つーか「クリップアクション」自体、なるべく避けた方がいいと思う。迷子になりやすいし) とりあえず、そのスクリプトの「Sound1」を_rootから始まる場所に書き換えてみよう。 そのままだと、ボタンが置かれたMCで定義したSound1に対して あれこれ仕様という意味になるから、もっと上で定義していたら、とうぜん空振りする。
208 名前:200 mailto:sage [2007/09/05(水) 01:08:38 ID:l+jAGjWi] >>201 目的は、GUIとまでは行きませんが、solファイルを含むフォルダ操作です。 フォルダの作成に加えて変更・削除が出来れば、かなり自由度が増えると思いました。 >>202 ローカル記憶領域を0 試してみます。
209 名前:Now_loading...774KB mailto:sage [2007/09/05(水) 01:20:11 ID:/9kyThfX] >>208 Flashでフォルダ操作やファイル操作は出来ません。
210 名前:Now_loading...774KB mailto:sage [2007/09/05(水) 01:39:27 ID:Lv8sVb/D] >208 localSO.data.rootfolder.savedata1=保存内容 とかじゃだめ? これならdataプロパティ以下の要素を、色々いじれるが。 ファイルを直接作ったり消したりしたいなら、あきらめたほうがいいかも。
211 名前:200 mailto:sage [2007/09/05(水) 02:25:57 ID:l+jAGjWi] >>209-210 複数のフォルダ内の複数のsolファイルに色々な項目(例:身長,体重,年齢など)を 詰め込みたいので出来れば、フォルダ単位で消去・変更したいです。 なお、「ローカル記憶領域を0」は、まだ試していません。
212 名前:Now_loading...774KB mailto:sage [2007/09/05(水) 02:48:47 ID:Lv8sVb/D] >211 var root = new Object(); root = SharedObject.getLocal("root", "/"); saveData1 = SharedObject.getLocal("root/saveData1", "/"); root.data._content = "これはカレントのデータだお"; saveData1.data._content = [{height:"209cm", weight:"135kg", name:"G.馬場"}, {height:"191cm", weight:"102kg", name:"A.猪木"}]; delete saveData1.data._content; 末尾の delete saveData1.data._content; を付けたり外したりするなどして、 *solファイルの有り無し検索してみよう。 自分で実験するヒマを惜しんではいけない。
213 名前:Now_loading...774KB mailto:sage [2007/09/05(水) 02:50:53 ID:Lv8sVb/D] 申し訳ない、>212の1行目var root = new Object(); は不要です。 ・・・ダメだ、頭が働かないのでもう寝る。
214 名前:200 mailto:sage [2007/09/05(水) 03:30:38 ID:l+jAGjWi] >>212-213 てんきゅう
215 名前:202 mailto:sage [2007/09/05(水) 04:11:35 ID:oq2Wn5BF] >>200 「ローカル記憶領域を0」は無視でいいよ 話が良くわかってなかった。 フラッシュからASでやれることじゃないし。
216 名前:Now_loading...774KB mailto:sage [2007/09/05(水) 14:11:01 ID:ps3RHVx4] 外部テキストを読み込むクラスなんですけどテキストが返ってこないんです。 どうすればテキストの内容を返すことができるのでしょうか。 public class Textload extends Array { var loader:URLLoader; var datB:Array = new Array(); public function Textload() { } public function textloading():Array { loader = new URLLoader(); loader.addEventListener(Event.COMPLETE, completeHandler); loader.load(new URLRequest("test.txt")); } public function completeHandler(evt:Event):Array { var datA:Array = loader.data.split("\r"); for(var i:Number=0; i<datA.length; i++){ datB[i] = new Array(); datB[i] = datA[i].split(","); } return datB; } var playerdata:Array = new Textload(); trace(playerdata.textloading());
217 名前:Now_loading...774KB mailto:sage [2007/09/05(水) 14:18:34 ID:8MQmnQEW] 待ってないから
218 名前:Now_loading...774KB mailto:sage [2007/09/05(水) 15:33:36 ID:be+ocy7a] >>216 loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
219 名前:203 mailto:sage [2007/09/05(水) 22:41:07 ID:v6ZxKUeG] ご回答ありがとうございました >>207 Math.int() にしたらエラーが出ましたが、 onClipEvent ( enterFrame ) { _x -= (_x - _root._xmouse) / 10; _y -= (_y - _root._ymouse) / 10; } の方法で解決しました。 なぜ、うまくいくのか じっくり考えたいと思います。
220 名前:Now_loading...774KB mailto:sage [2007/09/05(水) 23:06:49 ID:bqmYmjyS] paraflaでFLASHを作っています。 左クリックでのボタン処理ができるように、 右クリックを押すことでアクションをしたいのですが、 どうすれば出来るでしょう?
221 名前:Now_loading...774KB mailto:sage [2007/09/05(水) 23:13:09 ID:Oadww5zB] コントロールパネルで左利き用マウスに設定すればいいよ
222 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 01:00:17 ID:M+Pv+M6l] >219 自分自身の座標と、目標の座標の10分の1づつ接近していく。 近づけば近づくほど、「10分の1」の値は小さくなる=近づき方が遅くなる ただし近づいてはいるので、いずれある時点でその差は1を下回る=目標値点で止まる ただ、止まっているときでも常にカーソルへの移動を試みているので 無駄を省きたいので有れば「マウスカーソル移動でMC移動開始」と 「移動距離が1を切ったらonEnterFrameをやめる」を 実装してもいい(必要ないと思うならしなくてもいいが)。 >220 Macのことを考えてみよう。 (じつは、右クリックはコンテクストメニューなら割り付けられる。方法は勉強してちょうだい)
223 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 02:08:02 ID:9lIbtxB2] >>220 ,222 AS3.0限定かもしれないけど右クリックのアクションも可能だと思うよ。 前に見た解説サイト見つけられないけど・・・ paraflaでもできないわけじゃないかも。
224 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 05:53:23 ID:ARIbZD1C] >>216 きちんとヘルプを読めばサンプル載ってるし、そんな書き方しないと思う。 適当に書いて動きませんなんとかして、はひどすぎ。
225 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 10:56:05 ID:IA+i6VgC] >>224 いや、適当というつもりはなかったです。 return datB;のところでtrace(datB)するとテキスト取得の確認ができたので、 関数に型名つけてreturnで返そうと思いました。 public function completeHandler(evt:Event):Array {...} だけだとundefinedとでたので、public function textloading() {...}のほうにも 型名つけないとまずいのかと思ったのですが、そうするとエラーが出てしまい、 どうすればよいのか解らなくなり質問しました。
226 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 11:03:19 ID:ARIbZD1C] >>225 ん、まず、なんでArrayから派生させてるのかがわからん ハンドラのreturnって何が受け取るの?
227 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 12:57:09 ID:IA+i6VgC] >>226 swfのタイムラインに以下を記述してtrace結果でテキストの内容を出そうとしました。 var playerdata:Array = new Textload(); trace(playerdata.textloading());
228 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 13:09:51 ID:ARIbZD1C] >>227 答えがそれかよw。Classを使ってどうこなら まず、Javaなりの入門書を一冊やって、OOPを勉強してからだな。
229 名前:Now_loading...774KB [2007/09/06(木) 16:14:27 ID:DwFYQP3i] バイナリデータを埋め込んで動的に読み込みたいんですが、 ↓のように定義して [Embed(source='data/stage1.dat', mimeType="application/octet-stream")] private var GameData1:Class; ↓のようにクラスへの参照を取得しようとすると var classRef: Class = getDefinitionByName("GameData1") as Class; ↓のようなエラーが表示されてしまいます。 ReferenceError: Error #1065: 変数 GameData1 は定義されていません。 Embedで埋め込んだクラスにはgetDefinitionByName()できないのでしょうか? どうにかクラス名を動的に指定して読み込む方法はないでしょうか。 環境はWinXP/Flex2 SDK/Flash9 r28です。
230 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 16:18:27 ID:eVJwwHFF] そんなもんクラスじゃねーだろ 好きに読み込め
231 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 16:20:16 ID:eVJwwHFF] なんだか頭の不自由な奴が自分ルールでクラスだのなんだのを勝手に 定義してわけわからん質問してるのが多いな。同じ奴か? 基本的な本1冊読めよ。馬鹿すぎる。
232 名前:229 [2007/09/06(木) 16:47:32 ID:DwFYQP3i] すみません。 普通のアセットクラスだと思うのですが、どの辺りが間違っているのでしょうか。
233 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 16:59:08 ID:ARIbZD1C] >>232 Flexでの書き方はしらんが、知ってる人でもその質問では答えられんと思う。 何をやりたいのかを書いて、具体的なソースを提示しないとわからんよ。
234 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 17:04:44 ID:ARIbZD1C] だいたい >バイナリデータを埋め込んで動的に読み込みたいんですが、 埋め込んで動的にって。。。どういうことだよw
235 名前:229 [2007/09/06(木) 17:36:43 ID:DwFYQP3i] 質問が下手ですみません。 ゲームのステージデータを埋め込んで、各ステージの初期化時に 読み込みたいのです。 public class Sample01 extends Sprite { [Embed(source='data/stage1.dat', mimeType="application/octet-stream")] private var GameData1:Class; [Embed(source='data/stage2.dat', mimeType="application/octet-stream")] private var GameData2:Class; ... } といったようにSWFファイル内にバイナリデータのアセットとして埋め込んでおいて、 以下のようなステージデータのロードメソッドを呼ぶつもりでした。 動的にというのは、ステージ番号を指定してgetDefinitionByName()に渡す文字列を 変えたいという意味で使いました。 private function loadStageData(stage: int) { var classRef: Class = getDefinitionByName("GameData"+ stage) as Class; var GameData: ByteArray = new (classRef()); } 埋め込んだデータがJPEG画像などでも同様でした。 別の方法でも構わないのですが、同様のことを実現するにはどういったやり方が あるでしょうか。宜しくお願いします。
236 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 17:44:14 ID:ZRyepadd] だからそれのどこがクラスだよ 今のあんたに何説明しても無駄
237 名前:229 [2007/09/06(木) 18:08:28 ID:DwFYQP3i] >>236 クラスについては認識が間違っているということで、再度勉強させていただきます。 ステージデータについては、当初以下のような記述で動作していたのですが、 クラス名の指定をgetDefinitionByName()に置き換えられないかと試行錯誤して いるところでした。この違いについて、まだよく理解できていません。 private function loadStageData(stage: int): ByteArray { var data: ByteArray; switch (stage) { case 1: data = new ByteArray( new GameData1() ); break; case 2: data = new ByteArray( new GameData2() ); break; ... } return data; } ステージデータは100面分用意する予定なので列挙するのはできれば避けたいと 思っています。>>235 にも書きましたが、私の書いたやり方がよりも良いやり方が あれば、お教えいただけると幸いです。
238 名前:229 mailto:sage [2007/09/06(木) 18:12:32 ID:DwFYQP3i] バイナリデータを読み込む部分ですが、popforgeというサウンドライブラリの SoundFactory.classを参考にしました。Classと指定することについては、そう いうものだと思って、あまり深く考えていませんでした。
239 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 18:17:06 ID:ZRyepadd] 埋め込む必要があるなら文句いわねーで列挙しろ めんどくさかったらコードを書くマクロを作れ 実行時に読み込むだけで事が足りるならクラス化しねーでファイル読み込め
240 名前:229 [2007/09/06(木) 18:45:02 ID:DwFYQP3i] 列挙するのを避けたいというのは面倒だという理由ではなく(それこそマクロ等で 処理すれば良いので)、保守性や可読性の観点から現実的ではないと判断しました。 そこで調べた結果行き着いたのがgetDefinitionByName()でしたが、意図した通りに 動作させることはできませんでした。 そもそもgetDefinitionByName()はこのような用途には使えないのか、使い方が悪いのか。 他のやり方があるのか、あるいは列挙以外に方法はないのか…というのが、私の知りたい ことです。宜しくお願いします。 # 外部ファイルから読み込む案もご提示いただきましたが、今回はデータを埋め込む場合で # お願いいたします。
241 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 18:50:49 ID:ZRyepadd] 使い方というより頭が悪いな
242 名前:229 [2007/09/06(木) 18:59:27 ID:DwFYQP3i] 正直、頭は悪いほうなので、独力では解決できずに助言を求めている次第です…。 内容の無い、悪意の回答はご遠慮いただけると幸いです。
243 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 19:38:29 ID:wXAs/28X] var classRef:* = new getDefinitionByName("GameData"+ stage)() か var GameData: *= new (classRef)() じゃね?知らんけど
244 名前:229 [2007/09/06(木) 20:02:42 ID:DwFYQP3i] >>243 ありがとうございます。 早速試してみましたが、「getDefinitionByName()をコンストラクタとして 呼び出すことはできません」とのエラーが出てしまいました。 型宣言を「*」にする部分を参考にさせていただいて以下のようなコードも 試してみましたが、>>229 同様の定義されていないエラーとなってしまいました。 var classRef:* = getDefinitionByName("Sound1"); var GameData:* = new (classRef)();
245 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 20:18:08 ID:wXAs/28X] 間違えた var classRef:* = new (getDefinitionByName("GameData"+ stage))()
246 名前:229 [2007/09/06(木) 20:26:33 ID:DwFYQP3i] >>245 ありがとうございます。 やはり、定義されていないエラーになってしまいます。 getDefinitionByName()に渡している文字列が悪いのかもしれませんが、 traceを見ても「GameData1」になっているので、間違ってはいないと 思うのです。。。 すみません。 >>244 では「Sound1」になっていますが、効果音読むところをコピーして しまいました。正しくは「"GameData"+ stage」と書いてあります。
247 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 22:05:25 ID:Ggf2GCKz] >>246 var classRef: Class = getDefinitionByName("GameData1") as Class; var gameData: GameData1 = new classRef(); これでどう? GameData1がパッケージ内にあるなら、パッケージ名も書かなきゃだめだよ。
248 名前:229 [2007/09/06(木) 22:24:58 ID:DwFYQP3i] >>247 ありがとうございます。 コンパイル時に以下のようなエラーとなってしまいました。 型が見つからないか、コンパイル時定数ではありません : GameData1。 var GameData:GameData1 = new classRef(); ^ GameData1は現在Sample01というクラスの内部でEmbedしている箇所で宣言しています。 パッケージ名は親(?)のSample01には特に指定していないので、GameData1にも付かない のだと思っています。こういう場合のパッケージ名がどうなるのかは、よく分かって いません。ソースは以下のような感じです。 --- package { import flash.display.*; ... public class Sample01 extends Sprite { [Embed(source='data/stage1.dat', mimeType="application/octet-stream")] private var GameData1:Class; [Embed(source='data/stage2.dat', mimeType="application/octet-stream")] private var GameData2:Class; ... } } ---
249 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 22:57:16 ID:IvtJX8zy] っ getDefinitionByName("Sample01_GameData1") as Class;
250 名前:Now_loading...774KB mailto:sage [2007/09/06(木) 23:20:52 ID:IvtJX8zy] っ var GameData:* = new (getDefinitionByName("Sample01_GameData1") as Class);
251 名前:229 [2007/09/06(木) 23:31:26 ID:DwFYQP3i] >>249 うああ、できました!ありがとうございますっ…! クラスの中のクラス(どう呼ぶのか分かりません)名は、そのように 記述するのですね。勉強になりました。 >>249 さん、答えていただいた皆様、本当にありがとうございました。
252 名前:216 mailto:sage [2007/09/07(金) 10:21:44 ID:/y5tc2Xf] >>228 public class Tashizan { public function Tashizan() { } public function sum(numA:Number,numB:Number):Number { return numA+numB; } } var goukei:Object = new Tashizan(); trace(goukei.sum(15,3)); //18 のようにreturnで返したかったんですがなにが問題なのでしょうか? 問題点だけでも教えていただけませんか。
253 名前:Now_loading...774KB mailto:sage [2007/09/07(金) 14:46:11 ID:QESz89NL] >>216 関数の外にreturn置いてるのとか継承と型指定を取り違えてる風な書き方 3個以上間違いがあると誰も答えてくれないだろうから質問するときは問題点を 絞り込むように単純化した方がいいよ。
254 名前:Now_loading...774KB mailto:sage [2007/09/07(金) 17:27:19 ID:G6/Ml+Up] >>252 Arrayから派生してるのは何故? returnは何が受け取るの? レスしても、ちゃんと答えない質問者にはレスする気にならん。
255 名前:Now_loading...774KB [2007/09/08(土) 22:27:58 ID:rf8QzVNl] WinXP-ProでFlash8-Pro(Ver8.0)を使っています。 lineStyle()で線を点線(あるいは破線)にすることは可能でしょうか? 一応ヘルプを見ましたが、分かりませんでした。
256 名前:Now_loading...774KB mailto:sage [2007/09/08(土) 23:10:39 ID:gH/pK9oI] 破線はなかったはず。てか、Google。 ttp://www.gac.jp/article/index.php?stats=question&category=19&id=11753&command=msg
257 名前:Now_loading...774KB [2007/09/09(日) 01:52:20 ID:46xyRfSe] 環境はWin, CS3, AS3です。 これまでは_urlでswfの置かれているパスを取得できたと思うんですが、 AS3の場合はどうすればいいでしょうか。 よろしくお願いしますm(_ _)m
258 名前:Now_loading...774KB mailto:sage [2007/09/09(日) 02:38:29 ID:lVJTecGh] >>257 _url → flash.display.Loader.contentLoaderInfo AS2と比べると使い方はちょっと面倒かもな。 AS3ではどうするの?という質問はまず↓を見てみよう。 ttp://livedocs.adobe.com/flex/2_jp/langref/migration.html
259 名前:Now_loading...774KB mailto:sage [2007/09/09(日) 04:21:40 ID:oX5rL85l] >>257 trace(loaderInfo.loaderURL);
260 名前:255 mailto:sage [2007/09/09(日) 04:54:02 ID:DAvWqwjE] >>256 有り難うございます。 なるほど、細かい点(線分)の集合ですね。 あー、お腹の調子がおかしい・・・ ←独り言
261 名前:Now_loading...774KB mailto:sage [2007/09/09(日) 14:28:39 ID:AciRr+jo] Javaをちょこっとかじってて、ActioScript初めてなんですけど、 flaファイル上のMovieClipにASファイルのクラスを適用することって出来るんでしょうか?出来れば軽くサンプルを書いてもらえるとありがたいんですが… ASで定義したクラスのメソッドでMovieClipの操作を行ってみたいんですが・・・
262 名前:Now_loading...774KB mailto:sage [2007/09/09(日) 14:35:15 ID:oX5rL85l] >>261 できる
263 名前:Now_loading...774KB mailto:sage [2007/09/09(日) 19:15:13 ID:QumQM+cK] 初歩的な質問ですみません。 LoadVariables()で読み込んだファイル名のMP3を再生させようとするのですが、 loadSound()でエラーが出てしまいMP3が読み込めません。 loadVariables("soundplay.txt", _root); my_snd01 = new Sound(this); my_snd02 = new Sound(this); my_snd01.loadSound(_root.sound01, false); my_snd02.loadSound(_root.sound02, false); soundplay.txtの中身: sound01=sound01.mp3&sound02=sound02.mp3 何故かloadSound()をコメントアウトすると変数がちゃんと拾えているようですが、 loadSound()があるとundefinedが出て読み込みエラーが出るようです。 これは何故でしょうか…詳しい方お願いします。
264 名前:257 mailto:sage [2007/09/09(日) 20:12:11 ID:46xyRfSe] >>258-259 ディモールトグラッツェ!!!! ありがとうございました、助かりました。
265 名前:Now_loading...774KB mailto:sage [2007/09/09(日) 20:55:39 ID:itq/IsYb] >261 俺も最初は苦労したくちなので、丁寧におしえちゃうぜ。 でもな、バージョン名くらいは書いて下さい。頼むから。 ライブラリウィンドウで、ムービークリップの リンケージ名称設定をしてから・・・ MXの場合: function クラス名(){プロパティを列挙} クラス名.prototype=new MovieClip(); クラス名.prototype.メソッド名=function{処理} クラス名.prototype.メソッド名=function{処理} : Object.registerClass(リンケージ名,クラス名); MX2004の場合: ムービークリップのリンケージ名の下に AS2クラスの項目があるので そこにクラス名を記入。 ※ちゃんとクラスはMovieClipをextendsしてるよね?
266 名前:Now_loading...774KB mailto:sage [2007/09/09(日) 23:46:14 ID:AciRr+jo] >>265 すいません、遅くなりました Flash8 (AS2.0?)です ------ class Hoge extends Movieclip { private var mc:MovieClip; function hoge(target_mc:Movieclip){ mc = target_mc; } … てかんじにして、flaファイル側に hoge = new Hoge(リンケージ名); hoge.hghg(); という感じでやってたんですが、反応が無いみたいです; 265の方法を試してみます。
267 名前:Now_loading...774KB mailto:sage [2007/09/09(日) 23:54:50 ID:BVXAhwVo] >266 var hoge:Hoge=new Hoge(引数(インスタンス名とかな)); インスタンス名.onPress=function(){ hoge.ghgh(); } 既述通り、リンケージが楽 つーか、基本はggrば?
268 名前:Now_loading...774KB mailto:sage [2007/09/09(日) 23:58:35 ID:itq/IsYb] >266 俺は>265だが、8かー。MX2004使いだから的はずれかもしれんが 一応>266で気になったことは、 「MovieClipはattachで生成するのであって、newで生成しない」 (ただしFlexはnewで生成するが……) という、基本ルールを知っているかどうか。
269 名前:Now_loading...774KB mailto:sage [2007/09/10(月) 00:04:53 ID:IlxYGmqe] >268だけだと意地悪なので、いちおうコードも載せておくよ。 _root.attachMovieClip("リンケージ名", "MC名",深度, {プロパティ名:値}); この「リンケージ名」に、さっき定義したリンケージ名をいれればOK。 ちなみに俺が良くやる方法は、 for (i=0; i<個数; i++){ MC[i]=_root.attachMovieClip("リンケージ名", "MC名"+i,i); } と、イコールつなぐことで、「参照」を取得できる。こうすると、いちいちパスを書かなくても MC[2]._alpha=50; なんてことができて、スゲーらくちんw
270 名前:Now_loading...774KB mailto:sage [2007/09/11(火) 12:54:39 ID:Ln/IIDsc] デザイナー初心者です。 フラッシュ制作で、キューブが回転して奥から転がってくるものを依頼されました。 回転するものはあっても転がってくる様なものは探しても見つかりませんでした。 その様なサイトかスクリプトがあれば教えて下さい。 よろしくお願いします。
271 名前:Now_loading...774KB mailto:sage [2007/09/11(火) 13:01:55 ID:UA9VZCW1] >270 誘導 ttp://pc11.2ch.net/test/read.cgi/swf/1187880560/
272 名前:Now_loading...774KB mailto:sage [2007/09/11(火) 13:35:00 ID:Ln/IIDsc] >>271 有難うございます そちらに行ってみます(`・ω・´)
273 名前:Now_loading...774KB mailto:sage [2007/09/11(火) 16:27:25 ID:ZKuw48zy] 質問です。環境はWinn2000・Mx2004です。 式の書かれた外部テキストファイルを読み込ませ、 それを解釈させて、結果をtrueかfalseで得ようとしています。 例えば、他の処理系風に書けば: res=eval("(a==1)&&((b<250)||(name=\"Dave\"))"); trace("resu;t: "+ res); で、trueまたはfalseを返したいのですが、ActionScriptのevalでは そう言うことができません。 次善の策として、JSONを使い: [ { "left" : "a", fugou : "==", "right":1}, {……}, {……} ] などと言うことも考えたのですが、どのように処理していいのかが まるで思いつきません。 どのようにするのがよいでしょうか?
274 名前:Now_loading...774KB mailto:sage [2007/09/11(火) 20:31:38 ID:yONnbTi8] >>273 javascriptでできるならASから呼んでやればいいんじゃない?
275 名前:Now_loading...774KB mailto:sage [2007/09/11(火) 21:44:44 ID:4GLdl+a5] >>273 言ってることがいまいちよくわからんが、 >式の書かれた外部テキストファイルを読み込ませ の部分はASで実装できてるの?
276 名前:273 mailto:sage [2007/09/11(火) 21:57:50 ID:ZKuw48zy] >274 できればswf内で完結させたいと思っています。 >275 はい。文字列を読み込ませ、それをtraceでそのまま表示させることは できています。 >273のスクリプトを正確に書き直すと、 condition.txtの内容: (a==1)&&((b<250)||(name==\"Dave\")) flaファイルのスクリプト: lv=new LoadVars() lv.onData=function(string){ res=eval(string); //この行はあくまでも例示です trace("result: "+ res); }; lv.load("condition.txt"); です。
277 名前:Now_loading...774KB mailto:sage [2007/09/11(火) 22:51:35 ID:b9HnqLsx] javascriptに投げてevalで計算した結果をexternalinterfaceで貰えばいいんじゃ?
278 名前:Now_loading...774KB mailto:sage [2007/09/11(火) 23:28:26 ID:x8I9fL8z] >>273 逆ポーランド記法にできれば結構楽よ // 変数は自分で管理 var MyVariables = {a: 1, b: 100, name: "foo"}; // 変数と数値と文字列の区別は適当に目印つける var MyCondition = ["V:a", "N:1", "==", "V:b", "N:250", "<", "V:name", "S:Dave", "==", "||", "&&"]; var _stack = new Array(); for(i=0;i<MyCondition.length;i++){ var t = MyCondition[i]; switch(t){ case "==": var wk = _stack.pop() == _stack.pop(); _stack.push(wk); break; case "&&": var wk = _stack.pop() && _stack.pop(); _stack.push(wk); break; case "||": var wk = _stack.pop() || _stack.pop(); _stack.push(wk); break; case "<": var wk = _stack.pop() > _stack.pop(); _stack.push(wk); break; default: // 演算子以外は項である var type = substring(t, 1, 2); var term = substring(t, 3, t.length-2); switch(type){ case "S:": _stack.push(term); break; case "N:":_stack.push(parseInt(term)); break; case "V:":_stack.push(MyVariables[term]); break; } break; } trace("「"+t+"」を処理した後のスタックの状態"); for(n=0; n<_stack.length;n++) trace("["+n+"] "+_stack[n]); } trace("result:" + _stack[0]); // 演算結果が[0]に残る
279 名前:Now_loading...774KB mailto:sage [2007/09/12(水) 01:24:39 ID:t0Nd0J4u] >>273 なんかそれ最近、どこぞの誰かのBlogで読んだような気が・・・。 これかな? ttp://d.hatena.ne.jp/flashrod/
280 名前:273 mailto:sage [2007/09/12(水) 12:14:04 ID:g8zl/LOd] 皆様、ありがとうございます。 >>277 調べたところ、それはFlash8の機能のようです。またいずれにしても WEBブラウザの力は借りたくないと考えています。 >>278 逆ポーランド記法は初めて知りました。 ただ運用面を考えると、あまり馴染みがない記述方法になるので カッコなどをつかう記述を、その処理に落とし込めればベストです。 >>279 試しにソースをコピーしてみると、エラーが出たのですが、 オブジェクト定義で、要素の部分に'*"といった文字列を与えているためと 思われます(Flash8ではこの書き方は許されているのでしょうか?) ただ考え方はソースからなんとなく見いだせましたので、 これでカッコに対応していれば、MX2004風味に書き直せるかも知れません。
281 名前:Now_loading...774KB mailto:sage [2007/09/12(水) 12:55:34 ID:HtdHDwog] >>280 やりたいことを明確に言わないとよくわからん ASでの数式パースのロジックを知りたいって事か?
282 名前:273 mailto:sage [2007/09/12(水) 23:48:17 ID:g8zl/LOd] >>281 やりたいことは、 「FlashMX2004を使って、 テキストファイルに記載された論理式を解釈して結果を得る。 ただし、WEBブラウザなどは使わず、swf単体で行う」 です。 正直、そのために何をどうすればいいのかが全く分からなかったので こういう書き方をしました。 (正直、ここまで大がかりなものとは思っていませんでした……) 皆様の解答を見ていて、数式(論理式)のパース(構文解析と言う意味で いいでしょうか?)ができれば、上記の目的は達成できると分かりましたので、 その方法を教えていただけると有り難いです。 (別の方法がある!というのであれば、そちらでもけっこうです) 目下のところは、>>278 で紹介されている方法が逆ポーランド記法でなく、 通常の論理式対応のものであればベストです。
283 名前:Now_loading...774KB mailto:sage [2007/09/13(木) 01:59:06 ID:beX3qIXs] なんで逆ポーランドなのか考えた方がいいんじゃまいか?
284 名前:Now_loading...774KB mailto:sage [2007/09/13(木) 02:50:33 ID:wqdou11I] >>282 WEBブラウザなどは使わず、swf単体で行う スタンドアローンなら、Exeでパブリッシュという方法もある。 但し、1.5MB以上になる。 ちなみに、俺も同じような文章解析(出力データ解析)をやっているが、 対象の文章の内容と解析目標によってStirigクラスのメソッド&プロパティを ひたすら使い分けることでしか解決は無いと思う。 まずは、簡単な特徴的な文章(1行程度)を試しにパースしてみよう。
285 名前:Now_loading...774KB mailto:sage [2007/09/13(木) 02:52:46 ID:wqdou11I] 284だ。 Stirigクラス → Stringクラス
286 名前:Now_loading...774KB mailto:sage [2007/09/13(木) 13:13:43 ID:ZpQ1BVYO] 下記のアクションをムービークリップで動かしました テンキー1・3で(座標変化で)速度をリアルタイムで変化させたかったのですが、fpsが低い設定の場合キー入力しても再描画時にムービーの速度に変化がないことが 多々でした。(試しにfps1で試したところ再描画までに入力したキー分の加速が反映されていませんでした) onClipEvent (load) { x_move = -1; kasoku =10; function movetxt() { if (Key.isDown(97) == true) { x_move -= kasoku; } else if (Key.isDown(99) == true) { x_move += kasoku; } else { } _x += x_move; } } onClipEvent (enterFrame) { movetxt(); } 試しにキー押しの回数を調べるASを配置してみたところ、そちらは再描画までに押した回数が反映されていました。 この時も速度のほうは再描画までに反応を受け付けない時間(偶然や読み込みラグなどではなく)もあり結果は反映されませんでした。 読みづらい文・説明で申し訳ありません。 速度のキー入力リアルタイム変化について良い方法などありましたらお願いします。 環境はMacromedia Flash Pro8 AS2・WindowsXP・IE6です
287 名前:Now_loading...774KB mailto:sage [2007/09/13(木) 15:38:55 ID:BG4RnXCc] >>286 要は左右方向の加速度を変化させたいということか? movetxt();内で結果位置を指定するのではなくて、(外に出して) onClipEvent (enterFrame)内で指定したら?
288 名前:Now_loading...774KB [2007/09/13(木) 15:43:32 ID:hmnUxqDU] 人間の色んな動作のアニメーションを作成しているんですが転ぶアニメーション の参考になるサイトとかないでしょうか? 例えば歩くアニメーションだったらこんな感じで www.training.co.jp/flash/walk.html 転ぶ以外にも人間の基本動作のアニメーションで参考になるものがあったら教えてください
289 名前:Now_loading...774KB mailto:sage [2007/09/13(木) 15:46:24 ID:HEunF0E/] >>288 マルチは氏んでください
290 名前:Now_loading...774KB mailto:sage [2007/09/13(木) 16:18:07 ID:BG4RnXCc] >>286 setInterval() を使い、fpsに関係なく描画させる場合には updateAfterEvent() もある。
291 名前:Now_loading...774KB mailto:sage [2007/09/13(木) 16:39:47 ID:cYxdeUwj] >286 単純に変数操作はon()でやればいいんじゃないの?
292 名前:Now_loading...774KB [2007/09/13(木) 16:52:43 ID:JtxDSMb2] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) キーコードの認識で質問です。 2つのキー:BackSpaceとShiftを同時に押した時のアクションをキーリスナーで指定 したいのですが、上手く出来ません。 下は第一目標として、traceで "Back/Shift" を出力させるものですが何も出ません。 myKey = new Object(); myKey.onKeyDown = function() { if (Key.getCode() == 8 && Key.getCode() == 16) { trace("Back/Shift"); } }; Key.addListener(myKey); どうしたら良いでしょうか? 動作はプレビュー上で行い、『キーボードショートカットを無効』にチェックを入れて います。なお、BackSpace,Shift各単独のキー動作はOKです。
293 名前:286 mailto:sage [2007/09/13(木) 17:02:05 ID:ZpQ1BVYO] とても早い書き込みありがとうございます。 >>287 さん >加速度の変化 そうです。ただ、何故かわかりませんが1fpsで動作させ、1s内にテンキーで加速を2回押しても一回分しか受け付けていない。 という状況に困っていました。 実際のところ1fpsという低速で動かすことはないのですが、より正確な方が良いと思いまして。 enterFrameにて指定してみましたが低速だと同じ結果になってしまいました。 OnClipEvent(enterFrame)では難しいのですかね。 説明不足な点が多くてすいません。 >>290 さん 描画のタイミングを上げ判定の隙間を減らすことが出来るんですね。 これなら限りなく処理が自然になりそうです。早速試してみようと思います。 お二方レス大変感謝です。 OnClipEvent(enterFrame)の判定の落とし穴の方も解決したら書き込みさせて頂きます。
294 名前:Now_loading...774KB mailto:sage [2007/09/13(木) 17:47:45 ID:X66+axMg] >>282 数式解析のプログラムは結構出回ってる。 swfだけで完結させたいというなら、そのコードをActionScriptにパースすりゃよい。 ただし、ものすごく面倒 ちなみにそういう処理は、昔の死に言語が活躍してる時代の処理。 斜め上な開発をしていることに気づき、設計を考え直した方がよい。
295 名前:286 mailto:sage [2007/09/13(木) 17:54:29 ID:ZpQ1BVYO] >>290 さん すいません更新忘れて見落としていました。 クリップイベントにしなければ上記のようなことにならないんでしょうか。 ご指摘ありがとうございます。
296 名前:Now_loading...774KB mailto:sage [2007/09/13(木) 18:09:50 ID:tNNYUyG0] >>292 getCode() の値が8かつ16ってあんまりだろw if (Key.isDown(8) && Key.isDown(16)) { trace("Back/Shift"); }
297 名前:292 mailto:sage [2007/09/13(木) 18:23:52 ID:JtxDSMb2] >>296 有り難うございます。 getCode()の値は1つなんですね。
298 名前:Now_loading...774KB mailto:sage [2007/09/13(木) 18:45:14 ID:3nDCCNF9] >>297 trace()すればわかることだし、ヘルプにも書いてあるよ。 戻り値は数値; 最後に押したキーのキーコードを表す整数。
299 名前:273 mailto:sage [2007/09/14(金) 02:28:42 ID:IuUz1TI2] お返事が遅くなってしまいすみません。 >283 やはり「難しいから」なんですね。取り組んでみて実感しました。 >284-285 >まずは、簡単な特徴的な文章(1行程度)を試しにパースしてみよう。 こちら、>278のソースを参考に作ってみようと思います。 方針としては、文字列を先頭から1文字づつバッファーに貯めて行き: ・数字が出現したら、演算子か英文字(プロパティ)が出るまで連続して読み込み、 そのバッファーを「項」の配列にスタック ・演算子が出たら、数字か英文字が出るまで連続して読み込み、そのバッファーを 「演算子」の配列にスタック ・それ以外はプロパティ。演算子が出るまで連続して読み込み、そのバッファーを 「項」の配列にスタック ・演算子の文字列に優先順位をつけ、その優先順位の高い演算子を 挟んでいる項を演算し、後ろの項をスプライス(削除)し、この項とその次の項を…… を繰り返して行全体を処理 ・優先順位が0になるまで、着目優先順位を1づつ下げながら繰り返す ・項が1つになったとき、それが解 カッコの処理は、開きカッコがでたら、その後の開きカッコの個数を数え、同数の閉じカッコが出たら バッファーの内容を引数にして再帰呼び出しするようにしてみます。 >294 最悪、上記のことで実現できなければ、JSONで [ { "left" : "a", "fugou" : "==", "right" : "1", "renketsu" : "||"}, {式}, {式} …… ] 等の記述をするように、仕様を考えてみます。
300 名前:Now_loading...774KB mailto:sage [2007/09/14(金) 10:01:05 ID:j38Gt5NV] >>299 XMLでやった方が早いんじゃねーの?
301 名前:286 mailto:sage [2007/09/14(金) 15:42:25 ID:RvW1gVaf] setInterval()で無事それらしく出来ました。ご指導感謝します。 ありがとうございました!
302 名前:Now_loading...774KB mailto:sage [2007/09/14(金) 20:39:48 ID:LYhDOI8p] 回転させるには_rotationを使えばいいんですよね? でも、回転するにあたって中心位置指定をするASはあるのでしょうか? rootを回転させたいので・・・
303 名前:Now_loading...774KB mailto:sage [2007/09/14(金) 21:13:33 ID:y9xVRtWv] >302 無い。それと、_rootは回転しないじゃろ? 全体を回転させたいなら、1つのMC(中心が回転軸)に全部ぶっこむ 中心を左上等にする必要があるなら、mcの中心を回転軸とした円運動の式を組む
304 名前:Now_loading...774KB mailto:sage [2007/09/14(金) 21:28:34 ID:Vf34kzq9] >>303 _rootもMCなので、回転します。
305 名前:Now_loading...774KB [2007/09/15(土) 02:40:22 ID:u0PubEBn] 質問です。Flashをメールクライアントとして使いたいと思っています。 受信したデータなどをローカルに保存したいんですが、ファイル入出力 ができません。 ここで質問なんですがFlashとCなどを組み合わせてFlashにない機能を Cなどで補うことは可能でしょうか? たぶんアプリケーションにFlashをのせたらなんかできそうな気がするんですが 調べてもなにもでてこないのでご教授願えれば幸いです。
306 名前:Now_loading...774KB mailto:sage [2007/09/15(土) 03:34:56 ID:B3bx7q3w] >>305 Cのことはわからないんだけど、vb2005やC#2005ではフォーム上にFlash貼って fscommandでやり取りできる。 C#だけど。 ttp://web.sfc.keio.ac.jp/~shokai/archives/2006/09/cflash.html でもそういう使い方すると >Flashにない機能を Cなどで補う っていうよりもCで作ったアプリにFlashで色づけするって感じになると思う。
307 名前:Now_loading...774KB mailto:sage [2007/09/15(土) 03:55:10 ID:ngWHqH2K] ローカルファイルの読み書き程度ならAIRとかZincで十分できるけどな
308 名前:Now_loading...774KB mailto:sage [2007/09/15(土) 05:00:27 ID:U1a+GSCe] FLASHってXML出力ならできたよな確か
309 名前:Now_loading...774KB mailto:sage [2007/09/15(土) 07:14:13 ID:0mhcD0mY] >>305 ヘルプでExternal APIあたりを参照する >>308 出力というのが、ファイルとしてという意味なら不可能
310 名前:273 mailto:sage [2007/09/15(土) 09:35:24 ID:bmSbVgmK] お返事が遅れて、申し訳有りません (仕事が忙しかったもので……) >300 最初はXMLも考えたのですが、それよりはJSONのほうが 記述もデバッグもしやすいだろうと考え、フリーのJSON for ActionScript2を 使用しています。 なお、>>284 の「1行のパース」は成功し、きちんと演算ができました。 ただし、カッコの部分で手間取っているので、らちが明かないようなら 設計を見直し、>>278 の逆ポーランド記法を参考にさせていただこうと思います。 目処がつきましたので、これにて>>273 の質問は終了とさせていただきます。 皆様、ありがとうございました。
311 名前:Now_loading...774KB mailto:sage [2007/09/15(土) 09:40:06 ID:bmSbVgmK] >309 余談だが、FlashCommunicationServerは、「flv形式なら生成できる」 という仕様を利用して、ログファイルを生成していたりする。 ファイル書き込みができないのはセキュリティ面では意義のあることだが、 アプリ作成側にとっては、けっこう頭が痛い。
312 名前:Now_loading...774KB mailto:sage [2007/09/15(土) 15:34:15 ID:U1a+GSCe] 力を貸して欲しい。どうしても出来なくて困ってるorz 環境:FlashCS3 ActionScript3.0 目的:niconicoやYoutubeのFLVを、ローカル環境でストリーム再生する 現在、niconicoでテスト中。 手動でCookieを取得し、FLVのURLを渡しているが、開けないとのエラーが出る。 ルートタイムライン(StageにFLVPlaybackを配置) import fl.video.* //var FLVPlayer:FLVPlayback FLVPlayer.source = "smile-com32.nicovideo.jp/smile?v=188420.86636" また、FLV再生コンポーネントのFLVPlaybackが「?」を含むURLや「.flv」を含まないURLを 弾く仕様になっていたので、NCManagerの下記個所を修正 NCManagerクラスの変更箇所(614行:条件分岐をコメントアウト) //if ( parseResults.streamName.indexOf("?") < 0 && parseResults.streamName.slice(-4).toLowerCase() == ".flv" ) { canReuse = canReuseOldConnection(parseResults); _isRTMP = false; _streamName = parseResults.streamName; return (canReuse || connectHTTP()); //}
313 名前:Now_loading...774KB mailto:sage [2007/09/15(土) 16:05:53 ID:jSpkWWWt] >>312 ニコニコは外部アクセス遮断してるかと思われ
314 名前:Now_loading...774KB mailto:sage [2007/09/15(土) 16:20:25 ID:0Z2nAOxw] Flash CS3 (ActionScript 2.0) 外部ファイルで、下のような、回転を制御する簡単なサンプルを作っているんですが、 class Rect { private var mc:MovieClip; private var mc1:MovieClip; function Rect(base:MovieClip) { mc = base; mc1 = mc.attachMovie("rect", "rect", mc.getNextHighestDepth()); mc1.onEnterFrame = function() { this.rotationMovie(); }; } function rotationMovie():Void { mc1._rotation++; } } をつくり、flaファイルのフレームアクションで var rect:Rect = new Rect(_root); という感じで記述しているんですが、何も起きませぬ; どこかマズいんですかね・・・ ステージ上のMCのMC名・リンケージ名は共にrectです。
315 名前:Now_loading...774KB mailto:sage [2007/09/15(土) 16:24:59 ID:U1a+GSCe] SWFがクライアント側で動くから、サーバーが遮断してるわけじゃないと考えてたんだけど違うのかな? 再生ページのタグをそのままコピってローカルで動かしても正常に動くから、 自作のFLASHからFLVへアクセスできないのは、自分のソースが間違ってるか、 デフォルトのプレイヤーにASからIDか何かを送るような処理いれてるかだと思うのだけれど。。。
316 名前:Now_loading...774KB mailto:sage [2007/09/15(土) 16:32:10 ID:0mhcD0mY] >>314 >this.rotationMovie(); この前にtrace(this);してみる
317 名前:314 mailto:sage [2007/09/15(土) 17:52:33 ID:0Z2nAOxw] >>316 手直ししたら、動きました。リンケージ名の登録忘れと、 var scopeという変数を利用して、 function Rect(base:MovieClip) { mc = base; var scope = this; mc1 = mc.attachMovie("rect", "rect", mc.getNextHighestDepth()); mc1._x = 200; mc1._y = 200; mc1.onEnterFrame = function() { //trace(this); scope.rotationMovie();} } のようにしたら、動きました。 でも、scope.rotationMovie()の部分は、this.rotationMovie()にすると動かないんですが、thisはダメなんですかね・・・
318 名前:Now_loading...774KB [2007/09/16(日) 00:40:31 ID:Yqhe3f+A] 305です。回答ありがとうございます。 >306 それはヘルプにのってたんでしってるんですが、fscommandの引数として巨大なデータを。 渡せるんですかね?バイナリとかも。 データ取得とかはFlashでして、それをCに渡して保存とかはやっぱり 無理だと考えたほうがいいですかね。 どうもありがとうございます。 Airはつくったのをインストールしてもらわないと使えないので 今回は使おうと思っていません。
319 名前:Now_loading...774KB mailto:sage [2007/09/16(日) 01:02:43 ID:NgBRFJ+T] >317 クラスファイルでのスクリプトと、FLAファイルでのスクリプトでは 入れ子にした場合のthisの指すものが変わるんだよねぇ……。 FLAファイルでは、thisをつけると入れ子、つけないと「スクリプトを 記述している部分」を指すので、スマートな記述ができたんだが クラスだとそうならない。 なんで、こんな仕様にしたんだろう。 マクロメディア(アドビ)は、おそらく意味があってやってるんだろうけど。
320 名前:Now_loading...774KB mailto:sage [2007/09/16(日) 01:51:38 ID:/j12KesV] >>319 mc1のonEnterFrameの中じゃ this が指すのは mc1 になる それだけの話じゃね? と思ったんだけど 何かよく分からんないので もう少し詳しく説明してほすぃ
321 名前:Now_loading...774KB mailto:sage [2007/09/16(日) 10:21:25 ID:NgBRFJ+T] >320 ああ、言われてみれば>317の挙動はたしかに正しかった。 俺が言おうとしていたのは、thisをつけるかつけないかの 挙動の変わり方が、タイムラインとクラスファイルで 異なってしまうってこと。 >317の例で言うと、 var scope=this; mc1.onEnterFrame = function() { scope.rotationMovie(); }; } の部分は、タイムラインでの記述のようにこう書かせて欲しい。 mc1.onEnterFrame = function() { rotationMovie() }; } クラスファイルでは、thisが無くてもthisを記述したようにふるまってしまうが タイムラインでは、thisが無ければ(非公式テクニカルガイドで言う)デフォルト参照をする。 で、おれはこっちの書き方のほうが、thisの有り無しで処理を分けられるので スマートに思えるわけ。いちいち外側から参照を渡すってのは気持ち悪いんだな。
322 名前:317 mailto:sage [2007/09/16(日) 10:39:57 ID:saZ5CG3k] >>318 >>319 ああ、分かってきました。 scope.rotationMovie();はRect自身のメソッドだけど、 スコープの範囲でthisだと(function内なので)ダメってことですかね。 mc1.onEnterFrame = function() { rotationMovie() }; } と書くほうが分かりやすいですな
323 名前:317 mailto:sage [2007/09/16(日) 10:40:55 ID:saZ5CG3k] スコープの範囲で > スコープで
324 名前:Now_loading...774KB mailto:sage [2007/09/16(日) 12:15:10 ID:/j12KesV] >>321 なるほど ややこしいんだな thx
325 名前:Now_loading...774KB mailto:sage [2007/09/16(日) 13:29:42 ID:DCj6dDCu] AS2は付け足しだからレガシー仕様引っ張ってるからな。 そういう意味では初心者にこそむしろAS3をおすすめしたい。
326 名前:Now_loading...774KB mailto:sage [2007/09/16(日) 15:58:04 ID:s1MthOZf] >>325 それはない
327 名前:Now_loading...774KB [2007/09/16(日) 23:19:16 ID:ESTiE0oe] MovieClipのインスタンスを複製したいんだけどどうやるの?
328 名前:Now_loading...774KB mailto:sage [2007/09/16(日) 23:41:52 ID:pMx+rz+m] >>327 duplicateMovieClipを使う
329 名前:Now_loading...774KB mailto:sage [2007/09/16(日) 23:43:32 ID:5aMPC9TN] >>321 >>322 >>324 なんかおまいら言ってることおかしくないかー? この場合、onEnterFrameをmc1のメンバにしてるのが変 this.onEnterFrame = function()にすりゃ良い 「rotationで影響を及ぼしたい場所=Rectインスタンス自身」なのに何故、mc1の中に入れ込んじまうんだw あとthisの有り無しで処理を分けるなんてことやめた方がいいぜ? 読みにくいスクリプトの見本みたいなもんだよ。 thisは省略しない方がいいとか色んな本に書いてるけど、 あれは「参照をちゃんと記述しないとスパゲッティコードになる」って意味だよ
330 名前:Now_loading...774KB [2007/09/16(日) 23:43:37 ID:ESTiE0oe] すいません。>>328 ActionScript3.0と書くのわすれました。
331 名前:329 mailto:sage [2007/09/16(日) 23:59:15 ID:5aMPC9TN] ごめw ミス >>thisは省略しない方がいいとか色んな本に書いてるけど、 >>あれは「参照をちゃんと記述しないとスパゲッティコードになる」って意味だよ シンタックスを使ったオブジェクトのメンバメソッド内でのthis省略、ね 書籍などには「thisは省略しない方がいい」などとは書いてないので注意 まぁ普通にドットシンタックスを把握してる人にとっては、デフォルト参照は分かりにくいのではって話です。
332 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 00:17:23 ID:Y5dZ1OyR] >>330 this.addChild(new MCのクラス名()) クラスは自動生成されるから別に作らなくてもおk
333 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 00:18:36 ID:2hvSJKkL] >>326 プログラム言語として言えばAS3.0の方がスマートだしわかりやすいよ。 まあ、AS2.0しか知らない人には、今まで苦労して理解したのに。。 っていういうことはあるかもしれんけど。
334 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 00:26:43 ID:2jshZNy/] AS2->AS3の移行で戸惑う人はほとんどいないだろ。 AS1しか書いてなかったからAS3が理解できないってんなら分かるが。
335 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 00:29:23 ID:Y5dZ1OyR] そうだな。 ていうかJavaや.NETから入った俺からすれば、AS2.0を覚えれたのはすごいと思うけどな。 ワケ分からん仕様多いしさ。2.0理解したんなら3.0理解するのなんてすぐだろう ていうか2.0にどっぷりはまっちゃうと正直危ないと思う >>322 あんた危ない方向に進んでるよw
336 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 00:30:25 ID:2hvSJKkL] >>334 AS1.0-->AS2.0は普通に拡張な感じだけど、3.0へはちと、、、 移行するにしても、相当コーディングし直さなきゃならないとおも
337 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 00:41:40 ID:2jshZNy/] AS2からAS3への書き換えは何度かやったがそんなに大変じゃなかったな。 むしろonClipEventとか使ってるAS1をAS2でOOP化するほうが手間だよ。
338 名前:324 mailto:sage [2007/09/17(月) 00:50:23 ID:lLsXrzzj] >>331 >「rotationで影響を及ぼしたい場所=Rectインスタンス自身」なのに これは質問主にしか分からない事だと思うよ。 掲示されたのがonEnterFrameをmc1のメンバにしているソースなのだから それをベースに答えるしかないよ。効率や正しい書き方を聞かれたのなら まったくおっしゃる通りだと思うけど。 僕は デフォルト参照なんてものを初めて知ったので 「ややこしいんだな」と思ったんだ。
339 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 01:14:20 ID:iNf8t6Bu] OOPなんて言葉まだあったんか。 別にAS3自体を否定する訳じゃないけど、初学者が学ぶには 言語だけでなく概念を理解しなければならないから途中で 投げてしまう人口を増加させてしまうと思う。 エスペラント語ってすっきりしていて便利だよね、みたいな話だと思う。
340 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 01:17:35 ID:6k7bATPM] >>338 ん? 横から入って悪いけれど、それは違うんじゃない? もいっかいソースやレス見直してみたらどーかな 俺にも、onEnterFrameをmc1のメンバにしてる意味がわからないよ。 そしてソースが動かない原因も、onEnterFrameをmc1のメンバにしてるせいだしね。 提示されたソースが間違ってたから動かないんだよ。見当違いな解決策だすより、そこを指摘するのが妥当でしょ。
341 名前:322 mailto:sage [2007/09/17(月) 02:13:05 ID:6fW/4BX0] んーんと、ちょい混乱してるわけですが。 まず、Javaちょこっとかじって来ました。AS始めたばっかりです。 で、指摘されてる部分は、mc1.onEnterFrame...でいいんですよね? この場合 MovieClip(flaファイルに慣れてないので)をあんまり弄らなくても、いい手法かなと思ったんで、こう書いてみたわけですが、異端な書き方なんですかね? あくまで、MovieClip側に何かアクションを起こしたいわけです。 サンプルでMovieClipにextendsさせる方法も見ましたが、そっちのほうが主流なんでしょうか?
342 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 03:43:08 ID:lLsXrzzj] >>340 ソースとレスを見直した結果 僕は間違っていました。申し訳ない。 MovieClip を extends するなら /// 外部ファイル class Rect extends MovieClip{ function Rect() { this.onEnterFrame = rotationMovie; } function rotationMovie():Void { this._rotation++; } } //fla メインタイムライン var rect = _root.attachMovie("rect", "rect", mc.getNextHighestDepth()); rect._x = 200; rect._y = 200; みたいな感じかな。
343 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 06:02:05 ID:Y5dZ1OyR] てかなんでみんなクラス内でENTERFRAME使うの? 俺はIntervalの方が、関数名指定するだけで出来るから好きなんだけどなー ENTERFRAMEと違ってスレッド削除にも殆ど制約ないし
344 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 09:32:00 ID:N8Y+FRzQ] >343 俺もsetInterval派。 onEnterFrameで行う部分は、setIntervalにしたほうが色々と便利だし。 (ただ俺は、そこに匿名関数を記述するんではなく、関数名をこしらえて その関数に処理を渡していくのが好き) でも、onハンドラから匿名関数をつないでいくって言うイベント記法は ActionScriptに馴染みのない人でも分かりやすいんだよ。 「対象MCが.どうなったら=処理する{その内容は……です}」 と、一つの塊を見れば一目瞭然だし、 enterFrameだけでなく、loadやpressなどでも同じ書き方ができるので 応用範囲も広い。 イベントを直接管理する記法が主流になれば、いずれ廃れる 書き方かもしれないが、現時点では悪くないと思ってる。
345 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 13:26:00 ID:1rQVYVzg] >>342 この場合はthisだからいいけどAS2の場合は関数に処理渡すのもDelegate使う のが基本と覚えといた方がいい。そうすりゃsetIntervalもonハンドラも使用感は大して変わらん。 >>339 初心者が途中で投げてしまうのは難解さじゃなくてレガシー対策のイレギュラーな処理やバグで 思い通りに動かないからだろ。
346 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 18:56:51 ID:rqoIZ334] 毎フレーム処理したい のと 一定時間ごとに処理したい の違いじゃないの?
347 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 19:14:22 ID:1rQVYVzg] >>346 そうだよ。setInterval派とかいう派閥はない。処理に応じて使い分ければいいだけ。
348 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 20:13:22 ID:6k7bATPM] どちらの状況でもないときに使う方の話をしてるんだと思うが。”連続して実行させたい”とか。実際コレが一番多い罠
349 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 21:21:42 ID:yNgKhKTu] こういう話になるとがぜんはりきる俺様を見てくれって奴が多いんだよ。ほっとけ。
350 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 21:22:08 ID:N8Y+FRzQ] >347 >348の言うとおり、大半の人は「MCを動かす」目的で使う。 そのアプローチが「clipEvent(enterFrame)派」、「onEnterFrame派」 あるいは「setInterval派」などに分かれているのが現状。 他の処理系の人から見れば噴飯ものの分類だろうけど、 これらは「MCを動かす」という目的のもと、同じ分類になっている。 それぞれの意味の違いが分かって、最適のスクリプティングができれば AS使いとしては上級の部類になるだろう。 個人的には、”デザイナー上がり”の人たちも、これらの奥深さに 触れてもらえればと思っている。プログラマと話が通じると楽しいし、 「絵筆」が増えることで、よりアーティスティックな表現もできるはずだから。 ・forループで100個のMCをいちどきにattachMovieするのでなく 10分の1秒ごとにわらわらとattachMovieしたい……setIntervalでattachMovieし 100個になったらclearIntervalする ・ボタンクリックを、ムービーの状態によって違う動きにしたい ……同じイベントトリガを、別のイベントリスナに登録しなおし、各処理は そのリスナのメソッドとして定義しておく ”プログラマ”には簡単すぎるこうした処理も、”デザイナー”には高難易度。 このスレッドは、彼らの架け橋になってくれたら嬉しい。
351 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 21:24:23 ID:Mfkvi56+] OOPってもう古い概念なの?
352 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 21:25:38 ID:yNgKhKTu] 勝手に奥深いとか難しくて高度な事と位置付けたい馬鹿に踊らされてるだけ。可愛そうに。
353 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 21:27:11 ID:yNgKhKTu] >>351 全然古くない ただ「OOPとはこれ」「OOPやらなきゃ馬鹿」とか大上段に構えてる奴らが笑い物になってるだけ 普通に使う考え方
354 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 21:31:39 ID:Mfkvi56+] >353 それは良かった。今更ながらFLASH OOPを読んで歓心してた所だ
355 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 21:38:20 ID:yNgKhKTu] >>354 あの本は悪くないけど気を付けた方がいい。 よく日本人の英語学習の笑い話で「外資系の会社に、英語は完璧ですという入社希望者が来た 、で、その希望者に『なるほど、じゃああなたはウチの業務がどういうものがご存じですか』と聞い たら黙ってしまった」というものがあるけれども、あの本はまさにその典型。 FlashOOPが〜とか言う奴は実際にやらせてみるとコードひっかきますだけで、成果だすまでに 以上に時間かかるという事が結構あった。そうならないように、あれはあくまで文法の本だってことを キモに銘じておいた方がいい。
356 名前:Now_loading...774KB mailto:sage [2007/09/17(月) 22:14:51 ID:N8Y+FRzQ] >352 さっきから気になってるんだが、きみはまさか 「AS=簡単、気軽な言語」とかおもってないかい? キミが相当の知識があることは>355を見てもわかるし、きみにとっては ピクニック気分の言語なんだろう。そこは尊敬する。 でも違う。大半の開発者にとっては、イベントとかクラスとかスコープとかは いまだ「大上段ニ構える」概念だよ。 なぜって、開発者の大半はきみのようなプログラマじゃない。 アーティストだのデザイナーだのと呼ばれる、絵描きさんだからだ。 専門的な訓練をろくに受けていない頃なら、概念を理解するのは 一大事だってことは分かるだろ。 だから、このスレが有るんじゃないのかい?(ちょい脱線気味だけど)
357 名前:Now_loading...774KB mailto:sage [2007/09/18(火) 00:55:05 ID:2sKulJ4Y] Flashみたいなちょこっとスクリプト書く程度の物に わざわざオブジェクト指向を持ち出してくる輩は哀れ。
358 名前:Now_loading...774KB mailto:sage [2007/09/18(火) 01:27:36 ID:cAw2l+pm] それは規模によるでしょ。 フルFLASHのサイトで5000行を超えるASを書いたりしていると 開発技法とデザイナとのやり取りについてあれこれ考えないと いけないなと思うよ。 でも、気にせずクラスなんて使わずにコーディングするけどな! それがActionScriptのお気軽お手軽なところなんだし。
359 名前:Now_loading...774KB mailto:sage [2007/09/18(火) 01:48:13 ID:pAUTaWBv] >>357 ちょこっとしか書けないんだろw
360 名前:Now_loading...774KB mailto:sage [2007/09/18(火) 02:34:22 ID:fRxYsA1E] >>358 ゲームならまだわかるけど、フルFlashサイトで5000行もいくものなの? ていうかオブジェクト指向にするかどうかは行数で決めるの?
361 名前:Now_loading...774KB mailto:sage [2007/09/18(火) 02:46:56 ID:qkhusDJy] プログラムは最終的に思った通りに動けばいい。 過程や…方法なぞ…!どうでもよいのだァーッ!
362 名前:Now_loading...774KB mailto:sage [2007/09/18(火) 11:08:56 ID:MvRIbmuP] ウボァ。すごい勢いで挫折しそうなんでエロい人教えて。 1.外部テキストを読み込む 2.読み込んだ文字列をMCに入れる 3.MCのアルファを変化させる って事がやりたいんですが、MCのアルファは変化してもMC内テキストのアルファが変わってくれません。 flash内で事前にテキストを分解(アウトライン化?)しておけばアルファを弄れるのですが、 なるべく、"テキストデータのまま"で処理したいのです。 現在は応急処置として、マスクレイヤーを追加してMCを無理やり透過させていますが、 他の良い方法でなんとかならんでしょうか。
363 名前:Now_loading...774KB mailto:sage [2007/09/18(火) 12:15:23 ID:CPBdjEuF] >>362 基本的には、デバイスフォントではアルファ変化とかはできない。 その場合は、テキストを分解じゃなくて、テキストフィールドに必要な文字を埋め込む。 必要な文字数が膨大だと、ファイルサイズも膨大になる。
364 名前:Now_loading...774KB mailto:sage [2007/09/18(火) 12:16:32 ID:d/VnrghS] >>362 アルファベットくらいなら全部埋め込みフォントにすれば透過できたと思う。日本語あるときっついね。 Fla8以降なら一旦bitmapdataにdrawして、それを透過表示するとかでできるんじゃないかな?
365 名前:Now_loading...774KB mailto:sage [2007/09/18(火) 12:18:35 ID:bWu2MPRH] システムフォントはアルファ変更できない。 上レイヤに背景色をかぶせてアルファを変えるか フォントを埋め込みにすれ。
366 名前:Now_loading...774KB mailto:sage [2007/09/18(火) 12:49:59 ID:pAUTaWBv] >>360 ステップ数は規模の大きさの判断の指針として使える 100行のプログラムと5000行のプログラムが同じコストがかかるとは思えないよね
367 名前:Now_loading...774KB mailto:sage [2007/09/18(火) 13:52:30 ID:AAm22yJ7] >>360 俺は仕様追加や更新するかどうかでOOPにするか決めるな。 最初多少手間でも後から相当楽できるから結局楽をしたいことには変わらん。
368 名前:Now_loading...774KB [2007/09/18(火) 20:51:57 ID:MvRIbmuP] >>363-365 ありがとごじます。なんと。埋め込みフォント。知らなかったです。 日本語を使わないので英数字のフォントを埋め込んで解決しました。 BitmapData.draw()でフォントを画像データにする方法でも無事透過出来ました。 日本語をダイナミックテキストで扱う場合はこちらの方法が良さそうですね。 ASスレのはずなのにスレチで失礼。
369 名前:Now_loading...774KB [2007/09/20(木) 20:18:26 ID:Rm1sHKpH] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) セキュリティについて質問です。 現在swf内部の記述(AS)が読めるソフトが出回っていますが、今のところ 『最も中身が見れない(バレない)方法』にはどのようなものがあるのでしょ うか? つまりは、プロテクトを掛けたいと思っています。 この辺りの技術はイタチごっこでいずれ破られるとは思いますが、一時的に せよ保護したく思っています。 一応、「Flash便利帖」(インフォメディア著 毎日コミュニケーションズ)のp202で パブリッシュ設定 → 読み込みプロテクト は勉強しました。
370 名前:Now_loading...774KB mailto:sage [2007/09/20(木) 20:26:49 ID:YnUhWzLm] ttp://www.amayeta.com/software/swfencrypt/
371 名前:369 mailto:sage [2007/09/20(木) 23:30:37 ID:Rm1sHKpH] >>370 有り難うございます。
372 名前:Now_loading...774KB mailto:sage [2007/09/21(金) 13:19:47 ID:RC2nJwul] for文でカウントにiを慣例で使うと思いますが 複数入れ子にする場合も、何か文字があるのでしょうか? for(var i=0〜 for(var ii=0〜 for(var iii=0〜 ii,iiiやi,j,kだとjが見難かったりしますよね?
373 名前:Now_loading...774KB mailto:sage [2007/09/21(金) 15:37:21 ID:iyDIO6ly] 教科書なら慣例でi,j,kだと思うが、実際には用途に合わせて名前つけたほうがいいんじゃね? page,line,wordとか
374 名前:Now_loading...774KB mailto:sage [2007/09/21(金) 19:10:51 ID:RC2nJwul] >373 なるほど。名前試して見ます。ありがと。
375 名前:Now_loading...774KB mailto:sage [2007/09/22(土) 10:36:04 ID:KZSU70kv] >374 あくまでも俺のやり方だが、>373だと、すでにそのクラスの プロパティとして使う名前とかぶってしまう場合があるので、 ループに使う変数名は自分の中で決めてしまうのも手だ。 たとえば、i、j、k……ときたら間違いなくループカウントだと ルール付けしてしまえば、あとからソースを見たときに 視線がまごつかなくてすむ。 反面、その変数が何を表しているのかは、ソースを読まないと 分からなくなるわけだが。
376 名前:Now_loading...774KB mailto:sage [2007/09/22(土) 14:55:45 ID:M/Y5Y738] 昔は>>373 みたいな意見も多かったけどねー 今はループ用一時変数は統一されてるのが殆どじゃない? 下手につけると衝突するでしょ
377 名前:Now_loading...774KB mailto:sage [2007/09/22(土) 17:12:11 ID:BHL4zl0l] ループカウンタはカウンタとしてわかる無意味な短い変数名ならば良いと思う。 一般的に使われているi,j,kとかx,y,zとか。3次元以上のループはわかりにくいので 設計をデータクラス(レコード)にしたりして次元を落として見やすくする方が良いと思う。 ソースを読んでいてfor文の中にrow,colとか書いてあるとカウンタではなく、 なにか意味のある、スコープが大きい変数かなと思って思考が一時停止しちゃう。
378 名前:Now_loading...774KB mailto:age [2007/09/23(日) 10:19:37 ID:wCi0nQ10] LoadVarsのonLoadで困っているのだが、知恵をお貸しいただきたい。 LoadVarsのsendAndLoadで読み込んだ結果を、関数の結果として返したいのですが onLoadが完了する前に関数の結果がnullとして返ってしまう。 function hoge(str) { var re = new LoadVars(); var se = new LoadVars(); se["msg"] = str; se.sendAndLoad(URL, re); re.onLoad = function(success) { if(success) { //ここがreturnされてほしい return re["result"]; } } } test = hoge("aaa"); trace(test); //null うまく関数の結果を返す方法が分かる方、ご教授ください。
379 名前:Now_loading...774KB mailto:sage [2007/09/23(日) 10:38:01 ID:V2WFfrq8] メインの方でsetIntervalを使って処理待ちすればいいのではないかな
380 名前:Now_loading...774KB mailto:sage [2007/09/23(日) 11:27:40 ID:VB6Lvfzs] 読み込み待ちできない奴多すぎるな >onLoadが完了する前に関数の結果がnullとして返ってしまう。 これ自分で書いてて当たり前だと思わないんだろうか?
381 名前:Now_loading...774KB mailto:sage [2007/09/23(日) 11:48:04 ID:QIjd3skm] >378 詳しくソースは追い掛けてないけど、ひとつ気になったことは、 なんでイベントハンドラの処理を定義する前に sendAndLoadを実行しちゃってるのかな、ってこと。 定義前に結果が帰ってきたら、結果の行き場がない。 それじゃー空振りするでしょ。
382 名前:Now_loading...774KB mailto:sage [2007/09/23(日) 13:00:25 ID:wCi0nQ10] >>379 その方法でうまくいきました。 setIntervalとか、意外と使いやすいですね。 >>380 いやぁ、薄々は感じていたのですが、じゃあどうすれば、というところで 躓いていたわけです。 >>381 確かに。順序を入れ替えました。
383 名前:Now_loading...774KB mailto:sage [2007/09/23(日) 15:37:27 ID:2FSlMhjA] え、ちょっと待て。 setInterval使わないとロード待ちできないなんてことないだろ? なんのためのLoadVarsだよ。
384 名前:Now_loading...774KB mailto:sage [2007/09/23(日) 17:06:04 ID:b4lv3C7V] >>378 非同期読み込みなんだからコールバックにしたほうがいい
385 名前:Now_loading...774KB mailto:sage [2007/09/23(日) 19:00:28 ID:QIjd3skm] >378の問題点は、関数の中にコールバックを作った上で、 その処理結果を戻り値としたことだな。 test = hoge("aaa"); trace(test); で、イベントを待ってtraceしてくれるわけではないから 戻ってきたときにはすでにtraceは終了してるわけだし。 でも正直、俺も「関数の戻り値」として、こういう結果を取得したいと よく思う。いちいちルートにコールバックを書くのはなんかダサく見えるし、 かといってコールバック内に処理(この場合はtrace)を入れるのも 見づらいし。 みんなは>378みたいなことをしたいとき、どうやって書いてる?
386 名前:Now_loading...774KB mailto:sage [2007/09/23(日) 19:14:59 ID:+wLcGl6I] function hoge(str){ var se:LoadVars = new LoadVars() var re:LoadVars = new LoadVars() se["msg"] = str re.onLoad = function(success){ (success) ? re["LoadFin"]() : false } se.sendAndLoad(URL, re) return re } var test:LoadVars = hoge("aaa") test.onLoadFin = function(){ trace( test["result"] ) } 普通にコールバックしかねぇだろw
387 名前:Now_loading...774KB mailto:sage [2007/09/23(日) 19:18:00 ID:+wLcGl6I] re["LoadFin"] → re["onLoadFin"] のミスス(´・ω・`) ASにスレッド同期処理があればいいんだけどね。
388 名前:Now_loading...774KB mailto:sage [2007/09/23(日) 20:16:13 ID:r6NmunPI] AS2.0まではデコンパイラもそれを防ぐソフトもあるようですが、 AS3.0では同様のツールはまだ出ていないんでしょうか? もしくは根本的に必要がなかったりするのでしょうか。
389 名前:Now_loading...774KB mailto:sage [2007/09/23(日) 23:12:39 ID:ZV3VxgoD] remoteProxy系は2も3もDispatcher使うのが普通だろ。ツールなんかいらんはずだぞ。
390 名前:Now_loading...774KB mailto:sage [2007/09/24(月) 00:01:05 ID:ZV3VxgoD] ゴメン酔っ払ってたから読み間違えた
391 名前:Now_loading...774KB mailto:sage [2007/09/24(月) 15:04:25 ID:GtWrn8iA] >>388 すでにAS3仕様書が公開されてるから何をやっても無駄。
392 名前:Now_loading...774KB mailto:sage [2007/09/24(月) 16:03:31 ID:aQ9jWDUm] >>392 つーことは、AS2.0は仕様書が公開されていないから、デコンパイラを防ぐソフト が出来たということ?
393 名前:392 mailto:sage [2007/09/24(月) 16:04:24 ID:aQ9jWDUm] いかん、自問してもうた。 392は391への質問です。
394 名前:Now_loading...774KB mailto:sage [2007/09/24(月) 23:28:55 ID:GtWrn8iA] >>392 バイトコードをアセンブラのごとく読めば 何やってるのか普通にわかるって事。 ASも8以前のswf仕様書も全部公開されてる
395 名前:Now_loading...774KB mailto:sage [2007/09/24(月) 23:47:05 ID:tWcvQwzk] >>394 レス有り難うございます。 デコンパイルに対するプロテクトといっても、結局は一時的なものなんですね。
396 名前:Now_loading...774KB [2007/09/25(火) 03:05:53 ID:TBCw7Ifp] 質問です。 波の動きをさせようと以下のスクリプトを組み込んだが、 1回再生したっきり何も起こりません。 コードを記載してあったhakuhin.hp.infoseek.co.jp/main/as/move.html#MOVE_03 のサンプルは連続再生出来ています。 何がおかしいのでしょうか? onClipEvent (load) { length = 30; // 波の幅 rot = 0; // 角度(位相) dx = 5 // x方向移動量 posy = 150; // 元となるy座標 height = 100 } onClipEvent (enterFrame) { _x = _x + dx; // x方向移動 rot = rot + 10; // 0〜360まで一定の速度で増やし続ける if(rot > 360) rot -= 360; // 360を過ぎると0に戻す rad = rot * Math.PI/180; // 角度からラジアンに変換 _y = posy + Math.sin(rad) * height; // y方向移動 }
397 名前:Now_loading...774KB mailto:sage [2007/09/25(火) 03:41:41 ID:TBCw7Ifp] 永遠にx軸+方向に波打ってる。ステージから消えたときにでも_xをリセット
398 名前:Now_loading...774KB mailto:sage [2007/09/25(火) 03:43:01 ID:TBCw7Ifp] うお、ID同じだ。初体験w 自演じゃないからねw
399 名前:Now_loading...774KB mailto:sage [2007/09/25(火) 03:52:03 ID:/JBjbjXA] 可能性は否定しないけど これは自演ですね
400 名前:Now_loading...774KB mailto:sage [2007/09/25(火) 03:52:07 ID:TjOZ2AMF] はいはい自演自演
401 名前:Now_loading...774KB mailto:sage [2007/09/25(火) 03:57:38 ID:yRCc23vB] >>398 俺も経験あるから、 じぇんじぇん気にすることないよ。
402 名前:Now_loading...774KB mailto:sage [2007/09/25(火) 04:38:33 ID:mp9864L/] >401 この勇者にActionScriptの女神の加護があらん事を
403 名前:397 mailto:sage [2007/09/25(火) 05:26:45 ID:TBCw7Ifp] じぇんじぇん気にしてないよ。 取り合えず今日1日は初心者を装って色々デキル訳だな。 ちょうどいい機会なんで悩んでたこと質問してみる。XMLを拾って解析するコードです。 var XmlLoad = function(e:MouseEvent):void{ var myLoader:URLLoader = new URLLoader( new URLRequest(XMLのURL) ); function XmlLoadFin(e:Event):void{ /*var root_MC:MovieClip = this.root as MovieClip; root_MC.addChild(myXML)*/ ←質問2を試してみた残骸 LoadXmlNode( XML(myLoader.data) ); ↑質問1の箇所。ターゲットパス(thisやMC化したroot)を付けると動かなくなる。何故・・・ } myLoader.addEventListener(Event.COMPLETE, xmlLoadFin); } XmlRead_btn.addEventListener(MouseEvent.CLICK, XmlLoad) var LoadXmlNode = function(myXML:XML){ for each (var Node:XML in myXML.Person.(@id==2).*){ Node_txt.text += Node.name() + ":" + Node + "\n" } } AS3.0です。ごちゃごちゃ書いてますが、したいことは 1.もしLoadXmlNodeの呼び出しにターゲットパスを付けるとしたら…、一体何を?(root_MCやthisでは動かず) 2.もしもmyXMLを引数でなく、どちらの関数からも直接参照できる、フィールド変数(?)として、 「関数XmlLoadFinの中から」宣言するにはどうすれば?(2.0ではverを省略すれば出来た。見辛いソースになるし廃棄された?) 3.myLoaderのListenerは、ステートメントから出て、myLoaderが消えた時に一緒にデリートされてるのかな? 動くには動くので特に困っているわけではないのだけれど、分からないので何となくスッキリしなくて。。 良ければ誰か教えてほしい、長文スマン
404 名前:Now_loading...774KB mailto:sage [2007/09/25(火) 08:19:01 ID:w7qxoptu] 何で無名関数なのか、また2.0のxmlNodeなのかよくわからんな MC化したrootとは↓みたいなことかな。できないかな。 var rootas:MovieClip = this.root as MovieClip; リスナーは明示的にremoveするか、弱い参照にしておくと良いと思う。 いずれにせよclassと3.0のxml,xmllistを使った方がスマートにできるよ。
405 名前:Now_loading...774KB mailto:sage [2007/09/25(火) 08:26:48 ID:w7qxoptu] ああ、XmlNodeって名前のxmlか、、、
406 名前:Now_loading...774KB mailto:sage [2007/09/25(火) 08:30:00 ID:w7qxoptu] 関数名とか変数名は大文字で始めないでほしいなあクラスかと、、、あ、もう書きませんすみません。
407 名前:Now_loading...774KB mailto:sage [2007/09/25(火) 13:59:08 ID:gqhvmMp6] どどんまい
408 名前:Now_loading...774KB mailto:sage [2007/09/25(火) 20:36:12 ID:HFb2puJu] なんでIDが同じだと >今日1日は初心者を装って色々デキル訳だな。 になるんだ?
409 名前:Now_loading...774KB mailto:sage [2007/09/25(火) 21:53:50 ID:TBCw7Ifp] ノリで言ってみただけだよ。マジにとらえないでくれ
410 名前:Now_loading...774KB mailto:sage [2007/09/25(火) 22:13:51 ID:HFb2puJu] あぁ、そうなの。 IDが同じじゃなくても初心者を装えるだろって思ったから どういう意図で言ったのか知りたかったの。
411 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 10:54:39 ID:Rr04CYhD] CS3は持ってるんですがしばらく使えない環境に行くことになりました その間にもAS3の勉強をしたいのですが、どうにも本を読んでいるだけでは頭に入ってきません 実際いじりながら覚えていこうと思うんですが AS3対応のフリーのFlashソフトなどありますか?
412 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 11:15:42 ID:sqrU35UX] マウスを動かすと、ball(mc)が動くASでaddListenerで質問です myObject=new Object(); myObject.onMouseMove = function() { ball._x +=1; }; Mouse.addListener(myObject); or ball.onMouseMove = function() { this._x +=1; }; どちらでも動きますよね なんでmcだとaddListenerは不要なんでしょうか?
413 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 13:26:09 ID:KXUCHuTQ] >>
414 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 13:26:13 ID:zl06CDKy] >412 そんな理屈は考えたことがないなあ。動けばOKなんだし。 しいていえば、Mouse.addListener()はMouseオブジェクトで、 MovieClip.onMouseMove()はMovieClipオブジェクトだからだろうな。 アーキテクチャの違いってやつだろ。好きな方を使えば良いんじゃね?
415 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 13:49:14 ID:KXUCHuTQ] >>411 Flex 2 SDK
416 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 14:16:16 ID:KXUCHuTQ] >>403 コード書いて動かしてみたがワカランカッタ(´・ω・`) なんでターゲットパスつけると動かなくなるんだコレ。何か3.0の階層構造にまだ慣れないわ 取りあえず3つ目の質問だけになるが、ハンドルしてるObjectが消えたらハンドラも消えたはず。by.NET >>404 無名関数にするとブロック内でカプセル化されるんじゃなかったっけ 3.0じゃどうかしらんけど、2.0のときは衝突避けるときに使ってた希ガス てかローダー部分は置いといて、XML読み込みの部分はE4X使ってるみたいだし十分スマートだと俺はオモ
417 名前:Now_loading...774KB [2007/09/26(水) 14:56:56 ID:VGxwHg04] 質問です。 AS3で、SharedObjectを使ってFlash Communication Serverとデータの送受信 をするときの挙動なんですが、AS1のときは 共有オブジェクト.data.xxx = 1 のような書き方でサーバーの共有オブジェクトにデータが送信されたんですが AS3で同じ書き方をしてもデータがいかないようなんです。 サーバーサイドASで共有オブジェクトを更新するときに使う、 setPropertyメソッドを使えばいけたんですが、ヘルプを見ても、それは サーバーサイドで使うメソッドだと書いてあります。 AS3ではsetPropertyを使わないと送信できない仕様になったんでしょうか。 どうかご教授ください。
418 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 15:30:00 ID:f57mUZHx] winXP・flash8使用です。 actionscriptをある程度使える人になりたいと思って 早1年が過ぎましたが 未だに、ボタンにgotoAndPlayつけたりとか そんなのしか出来ません。 力技でアニメーションを作るのは得意ですが AS使わないと出来ない事も出来るようになりたいです。 何をどう勉強すりゃいいの?状態なんですが おすすめの参考書籍教えてください。
419 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 15:38:13 ID:/udwhN6y] 本なんて頼りに出来ない 知らないものは自分で触って感覚的に覚えるのが一番
420 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 15:41:43 ID:V0/aBcXj] >>418 ttp://www.amazon.co.jp/dp/4881665367/
421 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 15:45:53 ID:V0/aBcXj] >>403 その書き方だとfunctionのスコープがたぶんglobalになる。よってrootは無意味。 ターゲットを書かないその方法が一番楽なはず。つーっか汚なすぎ。 通信専用のクラス作ってそこに処理まとめればいいじゃん。
422 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 15:48:04 ID:V0/aBcXj] >>412 MovieClipクラスにはonMouseMoveという名前のイベントハンドラがあるから。それだけ。 2.0では、addEventlistenerはイベントハンドラ無いオブジェクトでもイベントをハンドリングできるために用意されているもの。 あとは、違う名前の関数を使ってハンドリングしたい時に使うもの。
423 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 15:49:00 ID:Ayy9C01V] >>415 ありがとうございます
424 名前:412 mailto:sage [2007/09/26(水) 16:03:50 ID:sqrU35UX] >422>412 MovieClipクラスに用意されてんのね 何かのクラスでextendsした場合は楽なんかな 処理がaddListenerより早いし 納得した。thx
425 名前:418 mailto:sage [2007/09/26(水) 19:12:04 ID:f57mUZHx] >>419 勉強する取っ掛かり?みたいなのが欲しいんですよね。 でも言い得てるレスだと思います。 >>420 とりあえず、その本買ってみて 全部理解できるように頑張ってから、次考えてみます。 ttp://www.amazon.co.jp/gp/aw/d.html/ref=aw_mp_1/?a=4881664573&uid=NULLGWDOCOMO こっちもいいのかな?
426 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 21:56:16 ID:zl06CDKy] >417 クライアントサイドで、 SO.data.foo=1; SO.setDirty('foo'); をためしてみて。
427 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 22:40:33 ID:wY4KIGeW] 質問しにきました。 Flashの背景色をASで変えたいのですが、描画メソッドしか方法ないですか? 直接弄れたら楽だろうなと思って・・もしそういうASあるなら教えてもらえますか?
428 名前:Now_loading...774KB mailto:sage [2007/09/26(水) 23:21:06 ID:d/6D0Tgc] >>427 回答するために書き込みます。 AS2.0ならColor クラスや flash.geom.ColorTransform クラスがあります。 ただしFlashの背景色ではなくムービークリップの色を変えるものです。
429 名前:Now_loading...774KB mailto:age [2007/09/27(木) 20:22:24 ID:84OqS0wk] actionscriptで日付フォーマットができる関数って無いですかね? trace(dateFormat(new Date(),"yyyy/mm/dd"); //2007/09/27 とか。
430 名前:Now_loading...774KB mailto:sage [2007/09/27(木) 21:03:07 ID:z4JJWENT] >>429 エクセルのセル書式設定のようなのは無いよ。自作汁。
431 名前:Now_loading...774KB mailto:sage [2007/09/27(木) 21:13:35 ID:1lNoZk5Y] createEmptyMovieClipもattachMovieも for文内で複数作ると最後の奴しか表示されないんですが、 これはなぜですか?
432 名前:Now_loading...774KB mailto:sage [2007/09/27(木) 21:16:05 ID:AktNaF/L] >>431 関数引数の深度が全部同じだからだろう。 同じ深度に存在できるMCは1つだけ。
433 名前:Now_loading...774KB mailto:sage [2007/09/27(木) 21:44:50 ID:1lNoZk5Y] >>432 解決しました。ありがとうございました。
434 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 00:44:31 ID:Wb48mEx6] 再び質問お願いします。 矩形ツールでムービークリップをつくり、 その1フレーム目にイベント(onRollOut,onRollOver)を記述してるんですが、 思うように動いてくれません。 画像をロードする前ならちゃんと記述したとおりに動いてる事はわかったんですが、 ロード後になるとイベントの関数も呼ばれてないようです。 マウスが上に行ったら画像を表示(_alpha = 100)し、マウスが離れたら非表示(_alpha=0) としたいです。 よろしくお願いします。
435 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 00:52:05 ID:Ndx6R9i0] >>434 矩形ツールによるMCと画像とのパスの関係は? とりあえず、trace(This)などであちこちチェックしよう。
436 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 00:53:19 ID:Ndx6R9i0] 435です。訂正。 trace(this)です
437 名前:Now_loading...774KB [2007/09/28(金) 00:55:16 ID:/cBcPpAg] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) hitTest()のヒット先MC枠ついて質問です。 root上に2つの円形MC(en1, en2)があり、en1をドラッグさせ、en2の座標を使って en2へのhitTest()をさせています。ASは、 on (rollOver) { if (this.hitTest(_root.en2._x, _root.en2._y, true) == true) { trace("en2塗り内の点にHit中"); } } ※ on (press) と on (release) で、en2をstartDrag()とstopDrag()をする。 これは目的の通り動作したのですが、次に if (this.hitTest(_root.en2._x, _root.en2._y, false) == true) として、en2の枠を対象に hitTest()判定を試みましたが何の反応もありませんでした。変更部分のASは下の 通りです。 on (rollOver) { if (this.hitTest(_root.en2._x, _root.en2._y, true) == true) { trace("枠にHit中"); } } 目的通りなら、「枠にHit中」と出る筈ですが何も出ません。 アドバイス願います。
438 名前:437 mailto:sage [2007/09/28(金) 00:59:10 ID:/cBcPpAg] 上記、訂正します。 下段の変更部分は、正しくは on (rollOver) { if (this.hitTest(_root.en2._x, _root.en2._y, false) == true) { //hitTestの第3引数は、true じゃなく false trace("枠にHit中"); } }
439 名前:437再 [2007/09/28(金) 01:10:05 ID:/cBcPpAg] すみません。質問文中に他に細かい間違いがあるので、改めて質問します。 ((以下の質問文でお願いします)) ---------------------------------------------------- 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) hitTest()のヒット先MC枠ついて質問です。 root上に2つの円形MC(en1, en2)があり、en1をドラッグさせ、en2の座標を使って en2へのhitTest()をさせています。ASは、 on (rollOver) { if (this.hitTest(_root.en2._x, _root.en2._y, true) == true) { trace("en2塗り内の点にHit中"); } } ※ on (press) と on (release) で、en1をstartDrag()とstopDrag()をする。 これは目的の通り動作したのですが、次に if (this.hitTest(_root.en2._x, _root.en2._y, false) == true) として、en2の枠を対象に hitTest()判定を試みましたが何の反応もありませんでした。変更部分のASは下の 通りです。 on (rollOver) { if (this.hitTest(_root.en2._x, _root.en2._y, false) == true) { trace("枠にHit中"); } } 目的通りなら、「枠にHit中」と出る筈ですが何も出ません。 アドバイス願います。
440 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 07:08:28 ID:lHJbwdHV] >439 枠って矩形? this.hitTest(_root.en2); 円の重なりなら ttp://hakuhin.hp.infoseek.co.jp/main/as/collide.html#COLLIDE_00
441 名前:434 mailto:sage [2007/09/28(金) 14:36:18 ID:Wb48mEx6] だめでした。 onPressイベントで画像のロードとtraceをやったんですが 画像ロード後にはonPressイベントが呼ばれません。 flash professional 8です。
442 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 15:21:26 ID:xlWELBUc] >>441 画像読み込んだら基本的にフレームに書いてたスクリプトは無効になるよ。 読み込み完了後にあらためてイベントハンドラ設定しなおすか、 その矩形上でさらに画像読み込み用のMCか、createemptymovieclipで作ったMC用意して そこに画像読み込めばいいんじゃないかな。
443 名前:437再&439 mailto:sage [2007/09/28(金) 15:48:06 ID:UTLPObPc] >>440 そうです。矩形(境界ボックス)です。Flash8のヘルプを読み直すと shapeFlag: Boolean は、指定したインスタンスのシェイプ全体を評価するか (true)、 境界ボックスだけを評価するか (false) を指定するブール値です。このパラメータは、 x 座標と y 座標のパラメータでヒット領域を指定する場合にのみ指定できます。 ということなので、 if (this.hitTest(_root.en2._x, _root.en2._y, false) == true) という判定には意味が無いようです。 つまり、このif文の記述は、en2の境界ボックスを判定基準に使っているので、実質 this.hitTest(_root.en2) と同じと考えてよろしいでしょうか?
444 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 17:46:13 ID:lHJbwdHV] 引用に座標でしか機能しないって書いてアンジャン
445 名前:Now_loading...774KB [2007/09/28(金) 20:16:01 ID:x25CWzzO] acl=2.5; brk=1.5; n=1; rmt=100; function copy(){ ball.duplicateMovieClip("ball"+n,n+10); for(i=1;i<=n;i++){ this["xRnd"+i]=Math.random()*rmt-rmt/2; this["yRnd"+i]=Math.random()*rmt-rmt/2; this["xm"+i]=_xmouse+this["xRnd"+i]; this["ym"+i]=_ymouse+this["yRnd"+i]; } this["ball"+n].onEnterFrame=function(){ this._x+=((this["xm"+n]-this._x)*acl)/brk; this._y+=((this["ym"+n]-this._y)*acl)/brk; } n++; } st.onRelease=function(){ copy(); } のonEnterFrame内のthis["xm"+n]とthis["ym"+n]にfor内のthis["xm"+i]とthis["ym"+i]を渡したいのですが、 onEnterFrame内でthis["xm"+n]をtraceするとundefinedが出ます。どうしたらいいでしょうか?
446 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 20:22:52 ID:ybBbtSQv] 酷いなこりゃ
447 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 20:24:27 ID:x25CWzzO] >>446 どういった具合にひどいんでしょか?
448 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 20:53:35 ID:1PbB8mYe] >>447 パスが違うんだろ。とりあえずtrace(this);
449 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 21:29:08 ID:x25CWzzO] >>448 ball+iの変数にアクセスするのにはどう指定したらいいんでしょうか? ↓こんなんありえないですし…。 this["ball"+n]["xm"+n]
450 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 21:39:42 ID:1PbB8mYe] >>449 おまえ、なんでレス無視して自分思考してるんだよ レスする意味無いじゃん traceしたのならその結果どう思うかとか書けよ
451 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 21:46:23 ID:x25CWzzO] >>450 すみません。 onEnterFrame内のtrace(this)は_level0.ball1、 for内のtrace(this)は_level0、 ということでonEnterFrame内のthis["xm"+n]を_root["xm"+n]に変えてみたのですが undefinedです。 もう少しヒントを…
452 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 22:07:17 ID:SXV0X6Oy] >>445 ballをduplicateMovieClipして、それぞれにメソッドを割り当てたいの?なら、 ball.duplicateMovieClip("ball"+n,n+10); を1回しかやってない以上、ムリだ。 同時に、thisの理解に不十分なところがある。むしろこっちがマズイ。 いま手元にflashがないので検証はできないが、次のを参考にしてみて。 var acl=2.5; var brk=1.5; var n=1; //何を表現したいのかを良く考えて、妥当な値にすること var rmt=100; function copy(){ for(i=1;i<=n;i++){ //thisにballというMCがあると仮定 this.ball.duplicateMovieClip("ball"+i,i+10);//「ball1」等の名称でデュプリケートする var xRnd=Math.random()*rmt-rmt/2; var yRnd=Math.random()*rmt-rmt/2; this["ball"+i].xm=_xmouse+xRnd; this["ball"+i].ym=_ymouse+yRnd; this["ball"+i].onEnterFrame=function(){ this._x+=((this.xm-this._x)*acl)/brk; this._y+=((this.ym-this._y)*acl)/brk; } } このスクリプトでやりたいことが良く分らなかったから、n回のデュプリケートおよび おのおののプロパティ、メソッドを定義する例を示したが、君のやりたいこととは 異なる可能性もあるので、そこは自力でやってほしい。 まずはthisの意味、とくにonEnterFrame内のthisとその外側のthisとの違いを、 もういちど勉強しなおしてみよう。
453 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 22:44:16 ID:x25CWzzO] >>452 解決しました。 ありがとうございました。
454 名前:Now_loading...774KB mailto:sage [2007/09/28(金) 23:00:48 ID:SXV0X6Oy] >453 それはよかった。でも、なぜさっきのがダメで今のがいいのかという 理屈を理解しないと、また同じことをしようとしたときに行き詰まるから、 面倒がらずに勉強して欲しい。 あと、こういうことをやるので有れば、クラスというものを勉強して そこで各MCの挙動を一気に定義した方が、のちに繋がると思う。
455 名前:Now_loading...774KB [2007/09/29(土) 03:00:34 ID:1NUzXdGg] ttp://www.s-grant.co.jp/ここのサイトの下部のように DirectLink : を押すとtextフィールドのURLが選択されてコピーも自動でされている方法を ご存知な方はおられませんか?
456 名前:437再&439 mailto:sage [2007/09/29(土) 04:23:29 ID:VQczcND3] >>444 あっ、そうだった・・・・
457 名前:Now_loading...774KB mailto:sage [2007/09/29(土) 04:37:05 ID:hT9x5Zjr] >>455 System.setClipboard() Selectionクラス で可能。
458 名前:Now_loading...774KB mailto:sage [2007/09/29(土) 11:54:01 ID:BikqFSV8] onMouseDown()でクリックを感知するMCの上にボタンを配置する、という状況で、 そのボタンを押した時に onMouseDown() の処理をさせないようにするには どうしたら良いでしょうか?
459 名前:Now_loading...774KB mailto:sage [2007/09/29(土) 12:15:36 ID:ck3NS+A7] >458 Button._enabled=false;
460 名前:Now_loading...774KB mailto:sage [2007/09/29(土) 13:09:26 ID:BikqFSV8] >>459 ありがとうございます。 ボタンを無効化ではなくて、ボタン領域内で、 下のMCのonMouseDown()を無効化させたいのですが、これは無理でしょうか?
461 名前:Now_loading...774KB mailto:sage [2007/09/29(土) 13:40:37 ID:BikqFSV8] 460ですが自己解決しました。 ボタンのマウスオーバーを監視してフラグを立て、 onMouseDownでそのフラグを参照して分岐処理するようにしました。
462 名前:Now_loading...774KB mailto:sage [2007/09/29(土) 18:22:42 ID:teUbErkq] FLASH5です loadMovieで外部ファイル(png)を読み込みたいのだけども読んでくれない。 試しに同階層のjpgで試した所問題無く読めたのですが、PNGってサポートしてない? ちなみにプレビューでも特にエラーは吐き出されていない。
463 名前:Now_loading...774KB mailto:sage [2007/09/29(土) 18:26:00 ID:mmaP319h] >>462 Flash5では無理。確か8以降対応ではなかったかな
464 名前:Now_loading...774KB mailto:sage [2007/09/29(土) 18:30:29 ID:teUbErkq] >>463 そうかありがとう。 でも8以降って随分後回しな扱いなんだな。。
465 名前:Now_loading...774KB mailto:sage [2007/09/29(土) 19:00:55 ID:mmaP319h] >>464 そうだね。 PNGを読み込んだswfを作ってそれを読み込むことで代用できなくもないけど、どうかな。
466 名前:Now_loading...774KB mailto:sage [2007/09/29(土) 19:24:58 ID:teUbErkq] >>465 いいアイデアだけど 定期的に自鯖から自動生成されるpngを読込みたいので固定じゃないんだ。 convertコマンドで同時変換して読込む事にしたよ
467 名前:Now_loading...774KB mailto:sage [2007/09/29(土) 19:32:07 ID:Rixkm1ET] FLASH5って、、何年前のソフトだよwww Flash5-->FlashMX-->FlashMX2004-->Flash8-->FlashCS3
468 名前:Now_loading...774KB mailto:sage [2007/09/29(土) 19:46:18 ID:teUbErkq] >>467 1. 古くて対応してない、困った 2. どうせ買うなら最新 3. 値段的に手が届かない or 踏ん切りがつかない 4. あ、少し工夫すればなんとかなるじゃん 以下1から繰り返し でも流石に新しいのほしいお
469 名前:Now_loading...774KB mailto:sage [2007/09/29(土) 21:12:55 ID:x75dQQB8] MXでいいと思うよ
470 名前:Now_loading...774KB [2007/09/29(土) 22:54:25 ID:1NUzXdGg] >>457 遅くなりましたがどうもありがとうございました。
471 名前:Now_loading...774KB mailto:sage [2007/09/30(日) 11:38:10 ID:Uzv0anZG] 質問です。環境はWIN2000, FlashMX2004Professionalです。 マルチウィンドウのRPGゲームを作ろうとしています。 その際、マウスではなくキーボードによる操作で行わせたいのですが: ・通常のフィールド移動なら、主人公を動かす(正確にはマップをスクロールさせる) ・コマンドウィンドウを開いたら、カーソルを動かし、ボタンで決定 ・メッセージパネル表示中は、ボタンで次の文に進む ・戦闘中は、戦闘用のウィンドウからコマンド決定。メッセージ用パネルに実況文を表示。ボタンで次の文章を読む などと言ったように、キーボード操作を受け付ける対象が頻繁に変わります。 またウィンドウやフィールド、メッセージパネルは、それぞれ「dialogue_mc」「fileldMap_mc」「message_mc」の中に attachMovieClip()することで、管理しやすくしようとしています。 この切り替えを、Key.addListner(ウィンドウ、マップもしくはメッセージパネルのMC)で行なおうと思っていますが、 オブジェクト指向を考えて、ウィンドウ自体の操作とリスナーの切り替えは、分離しようと考えています。 しかし、それをどのように実現して良いのか、思いつきません。例えば、 1.各ウィンドウ等に、「決定ボタンを押したとき()」「カーソルキーを押したとき()」のメソッドと、「どのウィンドウ等 から操作を受け渡されたのか」のプロパティを用意 2.初期設定では、「fieldMap_mc.マップ」がリスナーである 3.コマンド表示ボタンが押されると、「開くウィンドウ」「自分自身」を、_rootのリスナー管理用メソッドに渡す 4.リスナー管理用メソッドは、「開くウィンドウ」に示されたMCをattachMovieClip()しそれをあらたなリスナーとし、 今までのリスナーを削除 とした場合、ウィンドウなどは別々の階層構造を持っているので、階層情報ごと「_root.リスナー管理用メソッド」に 渡さねばなりません。そうなるとウィンドウごとに対象ウィンドウの階層構造を既に持たなくてはいけなくなり、 ウィンドウとリスナー管理の分離が難しくなってしまいます。 こうした場合は、どのように管理するのが妥当でしょうか?
472 名前:Now_loading...774KB mailto:sage [2007/09/30(日) 16:21:43 ID:zkpY0an3] そんなもん普通にウィンドウごとにイベントハンドラメソッド作っとけよw 考えすぎのOOP中毒患者だな。お大事に。
473 名前:Now_loading...774KB mailto:sage [2007/09/30(日) 20:03:10 ID:fQQ1lFrp] >>471 もう一歩先の考え方を取り入れないとだめ。 状態遷移とか、タスクシステムとか。
474 名前:Now_loading...774KB mailto:sage [2007/09/30(日) 20:04:01 ID:Uzv0anZG] >472 実は最初はそう考えていたんですが、 その時に操作を受け付けたくないウィンドウ等(=操作対象)も 複数存在します(たとえば、マップにウィンドウを1枚重ねたとき等) この場合でも、「カレントではない操作対象のイベントを無視する」 ようにしなくてはなりません。 そうなると、例えば「fieldMap_mc.マップ」から「dialogue_mc.コマンドウィンドウ」を 表示させる際、fieldMap_mc.マップ.イベントハンドラ=null」としたうえで dialogue_mcに内にattachMovieClip()することになりますが、 このコマンドウィンドウは必ずしもマップから開かれるとは限らないため、 ここにイベントハンドラを記述すると、消したときの制御の戻し先が 1つに限定されてしまいます。 「開きもとによって、イベントハンドラ内でswitch等を使い処理を分岐させる」 ということも、のちのデバッグや仕様変更の妨げになるので避けたいところです。 以上のように煮詰まってしまい、Selectionクラスのようなフォーカスを管理する クラスを使う方を考えたのです。なので逆に、ウィンドウごとに管理できれば それで他の操作対象との分離は果たせると思いますので、うまい方法をご存じの 肩がいれば、教えていただきたいと思います。
475 名前:471 mailto:sage [2007/09/30(日) 20:16:01 ID:Uzv0anZG] (>474も>471です) >473 わかりました、取り急ぎそのキーワードで検索してみます。 ありがとうございました。
476 名前:Now_loading...774KB mailto:sage [2007/09/30(日) 22:58:09 ID:G0c/8C0p] >>475 473も言ってるがタスクに乗せたら簡単に出来る
477 名前:Now_loading...774KB mailto:sage [2007/10/01(月) 01:14:51 ID:MzPSHq+U] 突然なんですが、このスレってWikiないですよね? 状況別のTipsみたいな感じでまとめるようにしたら需要ありますかね?
478 名前:Now_loading...774KB mailto:sage [2007/10/01(月) 01:24:57 ID:WcJXrPf3] 案件別の事例の解決法 何をどうしたら良いか分からない人へアドバイス これ以外はググレば分かるし、これをどうやってwikiにするんだる?
479 名前:Now_loading...774KB mailto:sage [2007/10/01(月) 01:29:28 ID:HbBblWBZ] >>477 それってASの解説サイトみたいになるんじゃないる?
480 名前:Now_loading...774KB mailto:sage [2007/10/01(月) 06:38:35 ID:t4z8/HR/] 質問の解答は、大抵リファレンスやGoogleにある。 それに乗ってない解答は、プログラムの組み方等、概念的な質問が多いので、 Tips化は難しい。OOPやアルゴリズム系の本を嫁。としかいえない。
481 名前:Now_loading...774KB mailto:sage [2007/10/01(月) 16:19:13 ID:ZxTzfNCI] ●質問をする前に、Googleで↓のように検索をかける。FLASH系の過去ログ全体からレスを検索できます。 「"質問したい内容" site:f9.aaa.livedoor.jp/~fcafe/index.php/2chlog/test/read.cgi/」 その後、引っ掛ったページから、Ctrl+Fなどのページ内検索を利用し、該当項目を探し出す。 例:getURLコマンドについて調べたい場合 getURL site:f9.aaa.livedoor.jp/~fcafe/index.php/2chlog/test/read.cgi/ こんなのがあってもいんじゃね? 過去に同じ質問がなかった訳ではないし。たまーに俺も利用してたりする。
482 名前:Now_loading...774KB mailto:sage [2007/10/01(月) 16:24:29 ID:ZxTzfNCI] あ、ちなみに上のコマンド使って検索すると、時々Googleさんに 「申し訳ありません・・・ウィルスまたはスパイウェアが自動的にリクエストを送信しており〜〜」 みたいな感じのこと言われるけど、Google側の問題なんで気にしないでね
483 名前:Now_loading...774KB mailto:sage [2007/10/01(月) 20:58:19 ID:tySUn27l] >>477 ある。絶対にある。 でも大変だと思うよ。
484 名前:477 mailto:sage [2007/10/02(火) 04:35:41 ID:qTEiSYTO] なるほど・・自分自身質問はしないまでも、スレを流し見してて「あ、これ試してみようかなー」っていうことが多々あったので Wikiを思いついたのですが、とりあえず今回は見送りということにしてみます。
485 名前:Now_loading...774KB mailto:sage [2007/10/02(火) 10:19:19 ID:vdSGIAYB] >484 いや、やるんだ!人の意見に流されていたらチャンスを逃すぞ 君がやりたいと思ったことをやらないと後悔が待ってるぞ
486 名前:471 mailto:sage [2007/10/02(火) 22:51:38 ID:SFJCwra1] >>473 >>476 あれからタスクシステムについて調べたのですが、 シューティングゲームを例に出している物が多く、よく理解が できませんでした。今のところの理解は: ・タスク管理をするクラスを_rootに作成 ・初期のタスクは、ある操作対象(例えば「_root.fieldMap_mc.マップ」)にセットしておく ・マップから呼び出す出すウィンドウを「コマンド」および「システム」にする場合は、 「マップ」のポインターを「コマンド」と「システム」としておく ・決定ボタンが押されたとき、ポインターをたどって、「コマンド」ウィンドウを表示 ・この時、コマンドは戻り方向のポインターとして「マップ」を持っている ・「コマンド」ウィンドウが消滅したとき、戻りポインターをたどって「マップ」に 制御を移す という程度なのですが、おそらく根本的に理解が足りていないと思います。 どのようにアプローチしていけばいいのか、あるいはどこか解説している サイトがありましたら、教えていただければと思います。
487 名前:Now_loading...774KB mailto:sage [2007/10/03(水) 00:13:54 ID:l6/jlcJA] >>486 ウィンドウを子タスクとして生成すれば処理しやすいかなぁ。 子タスク動作中は親タスクの実行を停止するようにしたら 再帰的にウィンドウを何個でも作れるし。
488 名前:Now_loading...774KB [2007/10/03(水) 04:59:28 ID:hMF8jjqW] 質問です! 体験版のCS3を使っています。 現在、Flash上で外部画像を読み込み、その読み込んだが像に落書きをしたり拡大・縮小できたりするツールを作成しています。 最初からつまづいているのですが、質問させてください。 xmlを使ってFlash上で画像(jpg)を読み込みました。 それをビットマップに変換したいのですが、どのようなActionScriptの記述をしたらいいのか分かりません。 Flash上でJPGをビットマップに変換する事は可能でしょうか? 質問です! 体験版のCS3を使っています。 現在、Flash上で外部画像を読み込み、その読み込んだが像に落書きをしたり拡大・縮小できたりするツールを作成しています。 最初からつまづいているのですが、質問させてください。 xmlを使ってFlash上で画像(jpg)を読み込みました。 それをビットマップに変換したいのですが、どのようなActionScriptの記述をしたらいいのか分かりません。 Flash上でJPGをビットマップに変換する事は可能でしょうか? 質問です! 体験版のCS3を使っています。 現在、Flash上で外部画像を読み込み、その読み込んだが像に落書きをしたり拡大・縮小できたりするツールを作成しています。 最初からつまづいているのですが、質問させてください。 xmlを使ってFlash上で画像(jpg)を読み込みました。 それをビットマップに変換したいのですが、どのようなActionScriptの記述をしたらいいのか分かりません。 Flash上でJPGをビットマップに変換する事は可能でしょうか? 質問です! 体験版のCS3を使っています。 現在、Flash上で外部画像を読み込み、その読み込んだが像に落書きをしたり拡大・縮小できたりするツールを作成しています。 最初からつまづいているのですが、質問させてください。 xmlを使ってFlash上で画像(jpg)を読み込みました。 それをビットマップに変換したいのですが、どのようなActionScriptの記述をしたらいいのか分かりません。 Flash上でJPGをビットマップに変換する事は可能でしょうか?
489 名前:Now_loading...774KB mailto:sage [2007/10/03(水) 05:07:55 ID:pjGVRKft] ワロタw
490 名前:Now_loading...774KB mailto:sage [2007/10/03(水) 05:12:47 ID:3AbZX5i5] pc11.2ch.net/test/read.cgi/swf/1184667056/ の753だろ。 何?スルーされて切れてんの?
491 名前:Now_loading...774KB mailto:sage [2007/10/03(水) 05:51:01 ID:TK0Rhve5] >>488 xmlを使ってjpgを読み込むってどうやったんだよw まず自分がどうやってjpgを読み込んだのかのソースを書け。 話はそれからだ。
492 名前:Now_loading...774KB [2007/10/03(水) 07:54:58 ID:cGWCv3xx] JavaとActionScriptの違いってなんですか?
493 名前:Now_loading...774KB mailto:sage [2007/10/03(水) 08:26:28 ID:TK0Rhve5] >>492 犬と猫の違いって何ですか?って言ってるのと同じだぞw
494 名前:Now_loading...774KB mailto:sage [2007/10/03(水) 08:30:19 ID:8Ff4h+/n] いい得て妙だな ある段階まではまったく同じなわけだし
495 名前:Now_loading...774KB mailto:sage [2007/10/03(水) 10:50:48 ID:0wfXYpRK] >492 双方ちも: ・ECMAという規格(EUにおけるJIS規格みたいなもの)に 基づいているから、ある程度似通ってるし、テクニックも ある程度通用する ・オブジェクト指向の書き方ができる。原則としてプロトタイプベース ActionScript: ・フレーム(処理レート)の概念がある ・MCという表示単位(処理単位でもある)が基準 ・インスタンスの生成に独特のスタイルを持つクラスがある (SharedObject.getLocal、attachMovieClipなど) ・クラスベースのオブジェクト指向の記述ができるようになった JavaScript ・HTMLの要素(エレメント)が、すべてインスタンスとして準備されていて、 そのプロパティを変更することで表示を変更できる ・ブラウザごとの方言がかなり大きいので、複数のブラウザに 対応させるのは大変(フレームワークを使い、軽減は可能) さいきん、JavaScriptも脚光を浴びているので、勉強してみると面白い。
496 名前:Now_loading...774KB mailto:sage [2007/10/03(水) 10:57:57 ID:nZ2O8iAm] >>495 レスには敬服するが、一応突っ込んでおくw 492はJavaとActionScriptなのだが。
497 名前:Now_loading...774KB mailto:sage [2007/10/03(水) 11:07:11 ID:pjGVRKft] まぁ未だにJavaScriptのコトをJavaって言う人は多いからなw このスレで「Java」って言われると、本人の質問レベルにもよるが、どっちか分からん場合が多い
498 名前:Now_loading...774KB mailto:sage [2007/10/03(水) 13:23:16 ID:pjGVRKft] (゚д゚) ttp://hobby9.2ch.net/test/read.cgi/av/1189497104/ 634 名前:名無しさん┃】【┃Dolby[] 投稿日:2007/10/03(水) 07:54:04 ID:gnEnTDei0 JavaとActionScriptの違いってなんですか?
499 名前:Now_loading...774KB [2007/10/03(水) 18:05:10 ID:fAta8ByA] テキスト文字をテキスト色とは違う色で縁取りしたいんだけど ASでできますか?
500 名前:Now_loading...774KB mailto:sage [2007/10/03(水) 21:16:00 ID:BIo1p0Q3] ムービーが終わったら、指定したURLへ飛ぶようにする記述を教えてください。
501 名前:Now_loading...774KB mailto:sage [2007/10/03(水) 21:25:53 ID:7zUuXylz] >>499 文字を分解して、インクボンドツールで縁取りするのは駄目か?
502 名前:Now_loading...774KB mailto:sage [2007/10/03(水) 23:53:16 ID:36EYCXki] >>500 最後のフレームに getURL("http://〜");
503 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 00:18:06 ID:/gnLzFBM] >>502 ありがとうございます。
504 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 00:37:37 ID:/gnLzFBM] >>502 シーンにレイヤーを追加して、最後のフレームをキーフレームにして getURL("http://〜"); を記述したのですが、上手くいきません。。。
505 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 03:39:44 ID:tk3jOMPZ] >>504 最後のフレームいくまえにstopしてるとか何か心当たり無い?
506 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 05:18:16 ID:/gnLzFBM] >>505 stopは無いです。むしろstop ():を書いてないので、ムービーがループします。。。
507 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 05:32:39 ID:/gnLzFBM] 自己解決しました。 stop(); getURL("www.yahoo.co.jp" ); stopと併記したら、飛んでくれました。なぜstopがいるのでしょうか。。。
508 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 09:15:51 ID:cJVG4P9M] >>507 getURLをFPSが30なら1秒間に30回呼んでるわけだろ? それが、ずーっとループしてるならどうなるかわかるだろ。
509 名前:Now_loading...774KB [2007/10/04(木) 11:26:40 ID:v5miPgjM] Flash CS3 を使ってます。 ActionScript3の質問です。 テキストフィールドを任意の個数作りたいのですが、 コンストラクタとFunctionでの使い方がよくわかりません。 var mesFld:TextField; ←コンストラクタ var i:Number; 関数内 for (i = 0; i <=3; i++) { mesFld[i] = new TextField(); } こんな感じで3つのテキストフィールドを作りたいんですが TypeError: Error #1009: null がでてダメです。 どうやったらいいんでしょうか?
510 名前:509 mailto:sage [2007/10/04(木) 11:34:46 ID:v5miPgjM] 訂正:上記の場合は4つのテキストフィールドでした。
511 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 15:33:21 ID:cJVG4P9M] >>509 何で配列じゃないんだよw
512 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 16:24:26 ID:v5miPgjM] >>551 private var mesFld:Array; ←コンストラクタ にしてもダメなんですが、どうしたらいいんでしょう?
513 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 16:25:02 ID:v5miPgjM] 未来レスしちゃった。 >>511 へのアンカーっす。
514 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 16:52:19 ID:TG+YqKG0] var mesFld:Array = new Array();
515 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 17:54:35 ID:v5miPgjM] それだと配列が4つ出来るだけで型が違うらしい。 var i:Number; var messagE:Array=["メッセージ1","メッセージ2","メッセージ3"]; var mesFld:Array = new Array(); for (i = 0; i >=2; i++) { mesFld[i] .y = 20*i; mesFld[i] .text = messagE[i]; addChild(mesFld); } TextFieldを並べて、メッセージを表示したいだけなんだよ…
516 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 18:14:13 ID:cJVG4P9M] >>515 基本的なことが何も出来てないじゃん。そのfor文の終了条件とかよく考えろ。 var messagE:Array=["メッセージ1","メッセージ2","メッセージ3"]; var mesFld:Array = new Array(); for (var i:uint = 0; i <3; i++) { mesFld[i] = new TextField(); mesFld[i] .y = 20*i; mesFld[i] .text = messagE[i]; addChild(mesFld[i]); }
517 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 19:27:07 ID:c5eLT4pF] 知識もないのに背伸びするとこうなるんだな、と思った・・・ せめてコンストラクタの使い方くらい理解してからオブジェクト配列に進んだ方がいいぞ
518 名前:Now_loading...774KB [2007/10/04(木) 21:54:46 ID:sYfm0mAE] >>516 >mesFld[i] = new TextField(); mesFldはまだlengthが0だと思うんで、 mesFld.push(new TextField()); かな
519 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 21:57:48 ID:sYfm0mAE] >>518 書いて思ったが、 mesFld[i] = new TextField(); でも自動的に配列伸びてくれるんだっけ?
520 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 22:07:27 ID:cJVG4P9M] >>519 var mesFld:Array = new Array(); mesFld[256] = "256のめっせ"; trace(mesFld);
521 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 22:32:56 ID:a3pcYCHN] >519 mesFldは配列で、その配列の各要素がインスタンスになっている ということじゃないかな。 mesFld:Array で、 nesFld[n]:TextField ということ。
522 名前:Now_loading...774KB mailto:sage [2007/10/04(木) 23:47:18 ID:sYfm0mAE] >>521 それはわかってるけどね 配列のサイズ指定してなくて[i]とかいいんだっけと思ってさ >>520 からすると、大丈夫なのか
523 名前:515 mailto:sage [2007/10/04(木) 23:56:15 ID:pDhMSZxc] >>516-521 色々とありがとう。 実際、コンストラクタとかの知識が全然無いので見よう見まねでスクリプトを書いてる状態です。 教えてくれたスクリプトを見て少し理解が進んだかなって感じです。 ActionScriptって難しい。
524 名前:Now_loading...774KB mailto:sage [2007/10/05(金) 05:02:28 ID:CFI1QzYY] >>522 [i]はキーを作ってるだけ、ハッシュ表と同じような感じだが
525 名前:Now_loading...774KB mailto:sage [2007/10/05(金) 16:04:22 ID:0bKQBS6U] (i) (())
526 名前:Now_loading...774KB mailto:sage [2007/10/05(金) 16:07:32 ID:qdXfoWhh] ωつ (i) (())
527 名前:Now_loading...774KB mailto:sage [2007/10/05(金) 16:15:11 ID:EfOsco5h] (+"="+)
528 名前:Now_loading...774KB mailto:sage [2007/10/05(金) 16:40:38 ID:ILpEDvrE] ∩_∩ ( ・( ェ)・)
529 名前:Now_loading...774KB mailto:sage [2007/10/05(金) 17:34:43 ID:EfOsco5h] クマはerrorだろw カワイイからいいけど
530 名前:Now_loading...774KB [2007/10/05(金) 23:05:21 ID:MbYqf4iv] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) MC内に連続して出現するオブジェクト(MC)の色で質問です。 MC(インスタンス名:XY)内にattachMovie()でmarkAというドット状のMC(識別子名:markA) をrootのonEnterFrameで newMark = "markA"+id; _root.XY.attachMovie("markA", newMark, id, prop); によって円を描く様に並べる前に、出現するmarkAの色を、このフレームアクション my_color = new Color(this); this.onEnterFrame = function() { my_color.setRGB(_root.cn_r << 16 | _root.cn_g << 8 | _root.cn_b); ・・・ ・・・ } のcn_rなどで指定しようとしています。 作成したASを実行すると、確かにmarkAの色は希望した色で出現し、また円を 描いている途中でも色の変更は可能ですが、先頭のドットだけが初期設定の 色(青)のままです。 つまり蛇に例えると、胴体,尾の色は変えられるが、頭の色は変えられない状態 です。考えられる原因は何でしょうか? アドバイスを願います。
531 名前:Now_loading...774KB mailto:sage [2007/10/05(金) 23:58:31 ID:OAHwSxYT] >530 先頭のドットをアタッチするとき、 _root.cn_r等には、何が入っているか調べてみて。 trace()を使えばできるはずだ。 未定義なら、定義のタイミングをかえてみた方がいい。
532 名前:530 mailto:sage [2007/10/06(土) 00:26:41 ID:GxwfyOES] >>531 レス有り難うございます。1個目の色を調べるためにtrace()を以下のように したところ、 色= 128, 128, 128 となり、希望の(設定した)灰色にはなっていま すが実際は、やはり青色です。 if (id == 1) { trace("色= "+cn_r+", "+cn_g+", "+cn_b); } 引き続き、調査と細工を試みます。
533 名前:Now_loading...774KB mailto:sage [2007/10/06(土) 00:45:27 ID:iGOdbPbG] >>532 文字型になってるのかも試練から足してみて trace(_root.cn_r + _root.cn_g + _root.cn_b)
534 名前:Now_loading...774KB [2007/10/06(土) 00:48:48 ID:h+XnUfIk] すみません。↓のURL先のFlash内でYoutubeのインタフェースを含んだ 動画を表示してますが、これってインタフェースは自作しているんでしょうか? www.itmedia.co.jp/news/articles/0706/22/news061.html
535 名前:Now_loading...774KB mailto:sage [2007/10/06(土) 00:50:36 ID:+D8Od/X0] 境界条件調べるだけだろ。idの範囲は?
536 名前:Now_loading...774KB mailto:sage [2007/10/06(土) 03:49:39 ID:gn4a/fSp] >534 記事を見る限りでは「別のウィンドウが開いて」となってるから その中に自作のインターフェースを表示させてるんでしょ。 で、そっからNetConnectionとNetStreamでムービー取得と。
537 名前:Now_loading...774KB mailto:sage [2007/10/06(土) 03:56:21 ID:irfaKOH+] YouTubeってクロスドメイン許してんの?
538 名前:Now_loading...774KB mailto:sage [2007/10/06(土) 04:07:55 ID:gn4a/fSp] >537 予想だけど、そう言う契約をそこの企業としてるんじゃないか。 FCSでは、ドメイン単位で許可する事はできるはずだから。
539 名前:Now_loading...774KB [2007/10/06(土) 17:03:19 ID:MqQBbmkL] Adobe Flash で作成した fla や swf をactionscriptファイルに書き出す方法ってあるのですか?
540 名前:Now_loading...774KB mailto:sage [2007/10/06(土) 18:22:21 ID:+D8Od/X0] >>539 flaのMCなどをASスクリプトに書き出すという機能は、CS3であるけど、たぶん539の思ってることとは違うと思う。 リバースエンジニアリングがしたいのでしょ。
541 名前:530 mailto:sage [2007/10/07(日) 00:00:50 ID:wBXoAs42] >>531 , 533 原因箇所が分かりました。出現させるmarkAのイベントハンドラで my_color = new Color(this); this.onEnterFrame = function() { my_color.setRGB(_root.cn_r << 16 | _root.cn_g << 8 | _root.cn_b); trace("色markA= "+_root.cn_r+_root.cn_g+_root.cn_b); ・・・ ・・・ } としていたのですが、my_color.setRGBの行をthis.onEnterFrameの前に置いた ところ、先頭のMCが希望した色に変わりました。 どうやら、this.onEnterFrameでmy_color.setRGBが呼び出せた際には元の色で 呼び出され、その後に希望色に変わるようです。 ただし、この場合もその前の場合も trace("色markA= "+_root.cn_r+_root.cn_g+_root.cn_b); は、128128128で、文字列のままです。
542 名前:Now_loading...774KB [2007/10/07(日) 00:00:55 ID:+hy5b/9S] >>540 すんません。 Flash作成 初心者なので根本的に間違ってるかもですが、 現在、Flash MX 2004 で作成したflaファイルが数個あるのですが、 これを asスクリプトに書き出す方法ってあるのかなって思ったのです 今後は asスクリプト にして Flex2 SDK でswfにしたいと思ってます。 flaファイル を 完璧に as化 する事って出来るのでしょうか? 画像等のリソースも出てくるのでしょうか? CS3でしか無理なのでしょうか? 質問ばかりですいませんがよろしくお願いします。
543 名前:Now_loading...774KB mailto:sage [2007/10/07(日) 00:12:01 ID:o0ygbS31] >>541 trace("色markA= "+(_root.cn_r+_root.cn_g+_root.cn_b)); これで128128128と表示されるならどっかで文字列型化してるんだろう。 _root.cn_r = Number(_root.cn_r); で一度数字型に変換汁。
544 名前:530 mailto:sage [2007/10/07(日) 01:39:51 ID:QXoVJzdr] >>543 さんきゅうです。
545 名前:Now_loading...774KB mailto:sage [2007/10/07(日) 06:01:58 ID:Yu09fKPf] なんかムカツク礼だな・・・w
546 名前:Now_loading...774KB mailto:sage [2007/10/07(日) 08:20:56 ID:cZziyoLl] trace()の仕様と+演算子の仕様ぐらい解れやw 型チェックはtypeofあたりを使え。 aa=1250; trace(typeof(aa)); aa="1250"; trace(typeof(aa));
547 名前:Now_loading...774KB mailto:sage [2007/10/07(日) 08:35:46 ID:sMY37Gcx] >>546 もtypeofを関数だと勘違いしてる気がする
548 名前:Now_loading...774KB mailto:sage [2007/10/07(日) 08:39:03 ID:cZziyoLl] >>547 何で?根拠は?
549 名前:Now_loading...774KB mailto:sage [2007/10/07(日) 08:57:07 ID:sMY37Gcx] >>548 typeofは前置演算子なので typeof(aa) は ++(aa) と書くくらい不自然だから。 例えばこんなコードで"number"の1文字目の"n"は取れない。 aa=1250; trace(typeof(aa).substr(0,1));
550 名前:Now_loading...774KB mailto:sage [2007/10/07(日) 09:01:08 ID:cZziyoLl] >>549 それはかまわんが、aaのタイプを知りたいときに、上記では間違ってるってことかい? 正解はどうなの?
551 名前:Now_loading...774KB mailto:sage [2007/10/07(日) 09:09:10 ID:cZziyoLl] ちなみに trace((typeof(aa)).substr(0,1)); としなければだめなのでは?
552 名前:Now_loading...774KB mailto:sage [2007/10/07(日) 13:26:25 ID:gIQ5Oqpw] 自分も>>550 へのID:sMY37Gcxレスが見たい。 演算子だというのはわかるが、シンタックスは「typeof(expression) 」とヘルプにあるけど それが間違いってことか? でもtrace(typeofaa)じゃ、aaの型はわからない。 実際どうすべきなのかを教えてほしい。
553 名前:Now_loading...774KB mailto:sage [2007/10/07(日) 14:00:33 ID:8LOsNyLt] trace(typeof 10) trace((typeof 10).substr(0,1))
554 名前:Now_loading...774KB mailto:sage [2007/10/07(日) 14:09:49 ID:gIQ5Oqpw] >>553 なるほど、理解した。thx では、()を使うのは邪道ってこと? そういう記述よく見るけど、実は正しくないのか?
555 名前:Now_loading...774KB mailto:sage [2007/10/07(日) 16:03:10 ID:XgtjyR+y] typeof(aa)とtypeof aaって理解しとかないとマズイ時ある? ムービークリップアクションのボタン系、on(press)なんかだと thisあるなしでターゲット変わるみたいな trace((typeof 10).substr(0,1))は括弧つきでも けっかは変わらんからいいけど
556 名前:Now_loading...774KB mailto:sage [2007/10/07(日) 20:40:29 ID:K/3Ic+Cu] 環境 win2000 flash8 質問です、以下のようなコードで変数 videoList を function(a){} の中で作った場合に function(a){} の外でも使用する為にはどのように書いたらいいのでしょうか? function(a){} の外側に書くと配列の値が消えているようです ----ここから----- System.useCodepage = true; txtVars = new LoadVars(); txtVars.load("data.txt",txtVars,"GET") txtVars.onData = function(a){ videoList = a.split(","); } ------ここまで------
557 名前:Now_loading...774KB mailto:sage [2007/10/08(月) 00:20:53 ID:RBY5Oq8v] >>557 videoListをfunction(a){}の外に宣言する。
558 名前:Now_loading...774KB mailto:sage [2007/10/08(月) 00:46:52 ID:kVg3lbT6] >>556 loadの引数はurlじゃないのか? 取得できているのかどうか、aの値をチェックしてないじゃん。
559 名前:556 mailto:sage [2007/10/08(月) 00:56:46 ID:qlH8uS6u] ------ここから------ System.useCodepage = true; txtVars = new LoadVars(); txtVars.load("data.txt",txtVars,"GET") txtVars.onData = function(a){ videoList = a.split(","); trace(videoList[0]); } trace(videoList[1]); -----ここまで----- このような書き方で videoList の値を確認しています trace(videoList[0]); では適切な値が表示されますが trace(videoList[1]); では値が入っていません
560 名前:Now_loading...774KB mailto:sage [2007/10/08(月) 01:01:01 ID:kVg3lbT6] >>559 trace(videoList); して配列全部をチェックしてみ。
561 名前:Now_loading...774KB mailto:sage [2007/10/08(月) 01:04:38 ID:kVg3lbT6] ちなみにaの値(生の値)をチェックしろと書いたわけで、加工後の videoListをチェックしろとは言ってないよ。
562 名前:556 mailto:sage [2007/10/08(月) 01:23:39 ID:qlH8uS6u] trace(a);とtrace(videoList);の結果は同じで data.txtの中身が表示されています function(a){} の外では共に undefined になっています
563 名前:Now_loading...774KB mailto:sage [2007/10/08(月) 01:28:48 ID:kVg3lbT6] >>562 それなら>>557 でしょ。 System.use....の下行にでも var videoList:Array; としてみれば。
564 名前:556 mailto:sage [2007/10/08(月) 01:38:49 ID:qlH8uS6u] 563の方法も試しましたがダメなようです function(a){} の中の変数名と外の変数名が同じでも別の変数として値を持っていると思うのですが ちょっと判りません
565 名前:Now_loading...774KB mailto:sage [2007/10/08(月) 01:55:37 ID:kVg3lbT6] >>564 onMouseUp = function(){ trace(videoList); } でクリックしてみ。 もしくはテキストフィールドを作ってそこに表示。
566 名前:Now_loading...774KB mailto:sage [2007/10/08(月) 01:59:37 ID:EXT3QTW+] >>564 すごく大雑把で分かりにくいだろうけどとりあえず説明すると txtVars.onData〜trace(videoList[0]);の処理はイベントハンドラ言うて data.txtの読み込みが完了したというイベントが 通知されて初めて実行されるから、多分>>564 の思っている 処理順番とは違う。 >>559 だけの処理の順番としては txtVars.loadでtxtVarsオブジェクトにdata.txtを読みに行ってらっしゃいと命令 (この時点では読み込み自体はしていない) ↓ txtVars.onDataにdata.txtを読みに行ったtxtVarsオブジェクトの読み込みが完了した時に実行させる 処理の内容を設定(この時点では処理内容の設定だけでonDataの中の処理が走らない) ↓ trace(videoList[1]);※videoListなんて変数ここでは初めて出てきて知らないからundefined この下でいくらvideoListの内容をtraceしてもundefined ↓ :※アクションフレームを抜けてtxtVarsオブジェクトがdata.txtを読み込みに行って、それが完了するまで :Flash上でいう1フレームか数フレームか詳しく分からないけど待つ ↓ txtVarsオブジェクトがdata.txtの読み込みを完了したので、 ここでonDataに記述してある処理を初めて実行する。 videoList = a.split(",");でここで初めてvideoListという変数が現れて かつ代入処理で特に注釈とかないから自動的にvideoList変数を_rootに定義。 trace(videoList[0]);は先に変数が定義されているので普通に表示される。 てな感じ。 >>559 のtrace(videoList[1]);の位置でいくらvideoListの中身を確認しても その時点ではonDataの中の処理が走ってないから値は入らないよ。
567 名前:556 mailto:sage [2007/10/08(月) 02:22:52 ID:qlH8uS6u] >>566 trace(videoList[0]);とtrace(videoList[1]);の表示が逆になっていたのはそういうわけなのですか 解説ありがとうございます 問題は判ったのですが解決方法がわかりません、1フレーム目に上記コードを書いてgotoAndStop(2);で2フレーム目に飛ばし、2フレーム目でtrace(videoList);するもやはり値は入っていません
568 名前:Now_loading...774KB mailto:sage [2007/10/08(月) 02:49:03 ID:EXT3QTW+] >>567 色々方法はあるし、セオリーとか自分も良くわかって無いけど とりあえず簡単な方法としては 1フレーム目の最後のgotoAndStop(2);は無くても勝手に2フレーム目に行くから削除して、 2フレーム目を空白フレームまたは空白キーフレームにでもして 3フレーム目のアクションに if(videoList != undefined){←読み込み完了したかの判定。videoList変数の定義の仕方で判定式が変わるかも trace(videoList);← 一応確認用、配列として読み込まれていたら(1,2,3とデータ毎に中身がカンマ区切りになっているはず) gotoAndPlay(4);←4フレーム目に飛んで、そこから読み込み完了後の処理を行う }else{ gotoAndPlay(2);←読み込みが完了してない場合、2フレーム目に飛ぶ } とでも書けば、いけるはず。 data.txt読み込み完了まで、2フレーム目と3フレーム目を行ったりきたりする感じ。 読み込み完了すれば自動的に4フレーム目に飛ぶと。 if(videoList != undefined)の部分はあくまで読み込みが完了したかどうかの判定で >>559 の処理でいけば読み込み完了時にvideoList変数が定義されることを利用してるだけで、 読み込み完了フラグ用変数を用意しておいて 先のonDataの中で読み込み完了フラグ用変数に値を入れて、その値かどうかの判定とかでもOK。 とりあえずこんなとこ。
569 名前:556 mailto:sage [2007/10/08(月) 03:07:10 ID:qlH8uS6u] 無事動きました >>565 >>568 ありがとうございました、今度一緒に呑みましょう(ぇ
570 名前:Now_loading...774KB mailto:sage [2007/10/08(月) 12:52:37 ID:Bwx4NhwV] (なぜコンプリートイベントでフレーム移動しないのだろう・・・?)
571 名前:Now_loading...774KB mailto:sage [2007/10/08(月) 20:27:33 ID:Tcjbzrlf] >>570 まだ初期化されて無いから
572 名前:Now_loading...774KB mailto:sage [2007/10/08(月) 20:51:44 ID:Bwx4NhwV] >>571 他意はないんだが、何が初期化されてないんだ? 「なんだまた読み込み待ちか」と思って>>378-386 と書き込もうと思ったんだが、 まったく別のレスが連なってたんで少々驚いてる
573 名前:Now_loading...774KB mailto:sage [2007/10/08(月) 22:08:23 ID:LH+UT/54] 外部ドメインにある画像にドロップシャドウをつけようと思っています。 サーバにswfを置かずに、ただswfを実行した際にはきちんと影がつくのですが、 サーバにアップしたとたん影が付かなくなってしまいます。 原因がどこにあるのか調べたのですが分かりませんでした。 どうしたらサーバにアップしたときにも影が付くのでしょうか? よろしくお願いいたします。
574 名前:Now_loading...774KB mailto:sage [2007/10/08(月) 23:22:13 ID:Bwx4NhwV] >>573 FlashPlayerのバージョンあげてみたら?
575 名前:Now_loading...774KB mailto:sage [2007/10/09(火) 00:06:55 ID:kVg3lbT6] >>572 なんでファイル読み込みのときにエラーチェックしないんだろうか。 そういうサンプルソースとかが普通に出回ってるのかな。ということで。 あとloadの引数は1つでurlだしsendAndLoadの引数とは違う。 ヘルプのonLoadのサンプルソースでは引数3つで書いてあるけどw 内部的にどのように処理されてるかは解らないけど、第一引数だけ有効で後は無視なのかなw
576 名前:Now_loading...774KB mailto:sage [2007/10/09(火) 00:35:49 ID:g3z4xR9N] >>575 あーいや、ID:kVg3lbT6のレスの内容は何となく的を得てたから分かるんだけど、それ以外がちょっと分かりづらくてね。 てか>>575 が言ってる「エラーチェック」ってのは「デバッグ」のことか? 確かにエラーチェックと言えなくもないが、大抵それで思い浮かべるのは例外処理のコトなんで少し困惑した。 つーか「loadの引数は3つ」ってのは俺も未だに謎だが明らかに本人のミスだと思ったのでスルーした(´・ω・`)
577 名前:573 mailto:sage [2007/10/09(火) 03:04:40 ID:9Y7ORIFH] >>574 言葉が足りませんでした。 外部ドメインにある画像以外にはドロップシャドウが付くんです。 なので余計に分からなくて…
578 名前:Now_loading...774KB mailto:sage [2007/10/09(火) 11:10:43 ID:Kam84+8Q] >>573 >どうしたらサーバにアップしたときにも影が付くのでしょうか? Flash8と9の両方で試したけど、ローカルとサーバーでドロップシャドウの違い というのは発生しませんでした。 というか、ドロップシャドウ機能は画像がローカルかサーバーかを区別していないはず。 サーバーからの画像読み込みは時間がかかるから、画像を読む前に画像サイズを決め打ちした 処理が入ってるのかなと想像しますが、プラットフォームもコードも示さないんでは 適切な答えは返ってこないと思うよ。
579 名前:Now_loading...774KB mailto:sage [2007/10/09(火) 11:23:21 ID:w5b/Yavn] >>577 >外部ドメインにある画像以外にはドロップシャドウが付くんです。 セキュリティサンドボックスが適用されるから同じドメイン以外のものはbitmapdataとして扱えないよ。 読み込んで表示するまでができることの限界。
580 名前:Now_loading...774KB [2007/10/09(火) 14:59:54 ID:C8j8AshE] 画面の左上にEnterFrameの度に増えるメーターのようなものを 描きたいんですがそれをすべてActionScriptでやるにはどうすればよいのでしょうか?
581 名前:Now_loading...774KB mailto:sage [2007/10/09(火) 15:22:40 ID:ggeyDQc0] >580 mc._xscale=0; mc.onEnterFrame=function(){ this._xscale+=1; }
582 名前:Now_loading...774KB [2007/10/09(火) 18:08:38 ID:rU2+dtCL] Fla8です。 ブラウザに縦横100%表示でフル画面表示できるようにswfを配置し、 ブラウザの大きさによって拡大縮小できるようにしています。 特定の縮尺以上に小さくしたくない(1024*768)のときは ブラウザにスクロールバーを出す方法はありませんでしょうか。 100%表示だと無限に縮小されてしまいスクロールバーも出ません。
583 名前:582 mailto:sage [2007/10/09(火) 18:12:23 ID:rU2+dtCL] 追記 ASは下記のように記述することで必要以上に縮小できないようにできました。 w = Stage.width; h = Stage.height; if (w<=1024) { w = 1024; } if (h<=768) { h = 768; } ただし、ブラウザを1024*768以下に小さくするとFlash部分が縮小されないが 画面から切れてしまい、スクロールバーも出ないので困っております。
584 名前:573 mailto:sage [2007/10/09(火) 19:00:40 ID:awnazd73] >>579 ありがとうございます。 サーバにアップさえしなければ影がつくのはなぜなんでしょうか?
585 名前:Now_loading...774KB mailto:sage [2007/10/09(火) 20:22:51 ID:QlW6ft08] >>582 そんなのはユーザにとって迷惑で使いづらい
586 名前:Now_loading...774KB mailto:sage [2007/10/10(水) 00:02:18 ID:UaeyZ6Um] >>584 ローカルはサンドボックスの対象外だから
587 名前:Now_loading...774KB mailto:sage [2007/10/10(水) 01:28:40 ID:EmibyRHS] >>572 onLoadInit このイベント使え
588 名前:Now_loading...774KB [2007/10/10(水) 09:33:54 ID:290Y5orQ] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) CGIによるメール送信で質問です。 「Flash ActionScript 逆引き大全550」(ITフロンティア著,秀和システム)のp563を参考に メールを送信を試みましたが出来ませんでした。getURL内の abc@xxx は宛先です。 何処が間違いか見当がつきませんので、とりあえずボタンMC内のASを全て書きます。 なお、タイトルはmailSubjectTで、本文はbodyMsgTです。 on (release) { System.useCodepage = true; //エンコード方式をShift-JISに変更 mailSubjectT = escape(mailSubjectT); bodyMsgT = escape(bodyMsgT); //タイトルmailSubjectTと本文bodyMsgTを一旦URLエンコードする this.getURL("abc@xxx/cgi-bin/mailtome.cgi", "_blank", "POST"); //メール用信用デーモンにPOSTでパラメータを送る mailSubjectT = unescape(mailSubjectT); bodyMsgT = unescape(bodyMsgT); //URLエンコードを元に戻す } アドバイス願います。
589 名前:Now_loading...774KB mailto:sage [2007/10/10(水) 13:02:35 ID:gXRoVw8Y] >588 >試みましたが出来ませんでした これだと、問題をどう特定していいのかが分からない。 「出来ない」とは、どういう状態になっているの? たとえば、 ・サーバにデータが送信されない ・サーバに送信されているが、結果が帰ってこない ・予期しない○○という結果になる などなど。 詳しく分からなくても、画面がどう変化したとかは分かるでしょ? 答える側は、そう言う情報から答えを探るから、出来るだけ 「出来ない」ではなく「どうなったか」を伝えて欲しい。 で、ソースを見て判断すると、 this.getURL("abc@xxx/cgi-bin/mailtome.cgi", "_blank", "POST"); でthisをつけているなら、変数にもthisをつけた方がいいんじゃないか。 (ボタンアクションはthisの扱いにレガシを引きずってるから、これが 引っ掛かっている可能性がある) もし理解できるなら、LoadVarsクラスを使うことを、強くオススメしとく。
590 名前:Now_loading...774KB [2007/10/10(水) 13:14:08 ID:25V476Oo] TextInputの境界線を消すにはどういうスクリプトを書いたらいいのでしょうか? setStyleとか調べたんですが、方法が見つからなかったです。
591 名前:_ [2007/10/10(水) 13:50:54 ID:FtRfQ8y8] ActionScriptだけを使用してで座標(100,100)に縦横80,50の長方形を MCというムービークリップとして描くにはどうすればよいのでしょうか?
592 名前:Now_loading...774KB [2007/10/10(水) 14:13:14 ID:25V476Oo] >>591 import flash.display.*; var mc:MovieClip = new MovieClip(); var bitmapData:BitmapData = new BitmapData(80, 50); bitmapData.fillRect(new Rectangle(0, 0, 80, 50), 0xffff0000); mc.addChild(new Bitmap(bitmapData)); this.addChild(mc);
593 名前:Now_loading...774KB mailto:sage [2007/10/10(水) 19:56:20 ID:mS0tRZaZ] >>590 setStyle('borderStyle', 'none'); じゃね?
594 名前:Now_loading...774KB [2007/10/10(水) 20:26:56 ID:25V476Oo] >>593 無理でした
595 名前:588 [2007/10/10(水) 21:15:56 ID:vLjJ+vOU] >>589 レス有り難うございます。ここでの「出来ない」とは、『宛先(PHS)にメールが届かない』 という意味です。その後、変数のパスに問題がありましたので、修正したところ、以下の JPGのエラーメッセージが現れました。 vista.crap.jp/img/vi9201734354.jpg 黒塗りの後から cgi-bin/mailtome.cgi の部分があり、その後に送りたい文字列が現れ ています。文字列中に%が頻出するのは、元の送信データを、提案頂いた LoadVars() でUTF-8にコーディングしているからです。 ※元の送信文の構成: UIコンポーネントによるチェックボックスのtrue/false,数字(1994),アルファベット(fukuda) 漢字氏名(福田),題名(TestCGI)。 これらは、myLV = new LoadVars(); でmyLVオブ ジェクトを作り myLV = new LoadVars(); でエンコードしています。 LoadVarsによるUTF-8へのエンコードは『逆引き大全550』に載っていますが、これによる 送信方法は分かりません。引き続きアドバイス願います。 ※チェックボックとテキスト入力によるアンケートなどの結果を、UTF-8変換し、CGIでPHS のメアドに送信するのが最終目的です。
596 名前:Now_loading...774KB mailto:sage [2007/10/10(水) 21:34:46 ID:iawLxwa7] そもそも、メール送信CGIは用意してあるの? そのCGIはFlash経由じゃない場合、きちんとメールが送信できるの?
597 名前:Now_loading...774KB mailto:sage [2007/10/10(水) 21:55:03 ID:KI4ImEBG] >abc@xxx/cgi-bin/mailtome.cgi なんでメールアドレスとcgiが一緒になってんの? こんなことできたっけ?
598 名前:588&595 mailto:sage [2007/10/10(水) 23:01:13 ID:Woeg7VRk] >>596 基本的なところに立ち返りますが、通常はメール送信CGIというのを別個に 用意しなけれればならないのでしょうか? >>597 「逆引き大全550」のSmple545をそのままコピペすると this.getURL("○○@××.com/cgi-bin/mailtome.cgi", "_blank", "POST"); //メール用信用デーモンにPOSTでパラメータを送る です。 この部分を含め、ほとんどをそのまま利用しました。このflaファイルそのものをUpしたいの ですが、著作権上問題があるとみて躊躇しています。 なお、別のプロバイダのメアドを ○○@××.com の部分に使いましたが、同じような エラーが出ました。
599 名前:Now_loading...774KB mailto:sage [2007/10/10(水) 23:06:03 ID:m6g40JCr] >>598 > 通常はメール送信CGIというのを別個に > 用意しなけれればならないのでしょうか? しなければなりません。
600 名前:597 mailto:sage [2007/10/10(水) 23:27:03 ID:KI4ImEBG] >>598 >>588 をよく見たら >メール用信用デーモンにPOSTでパラメータを送る って書いてあったね。ごめん。メール用信用デーモンってなにか知らないけど abc@xxx/cgi-bin/mailtome.cgiで送れるようになってるんだろうね。きっと。 cgiを用意できるなら mailto = "○○@××.com"; msg = "メッセージ"; this.getURL("./cgi-bin/mailtome.cgi", "_blank", "POST"); で送ってcgi側でmailtoとmsgを取得。 用意できないなら mailto = "hoge@hoge.com"; subject = escape("件名"); body = escape("本文"); this.getURL("mailto:"+mailto+"?subject="+subject+"&body="+body); で我慢。
601 名前:588&595 mailto:sage [2007/10/11(木) 00:21:04 ID:WmXwhj7I] >>599-600 有り難うございます。現在プロバイダにCGIの可否を問い合わせています。(先行して)600さんの 方法で実行しましたが、何の変化(応答)もありません ・・・本来はメーラーが立ち上がって送信 されるのでしょうか? 念のため、ボタンMC内のASを全て書きます。 on (release) { System.useCodepage = true; //エンコード方式をShift-JISに変更 mailto = "abc@xxx"; mailSubjectT = escape(_parent.mailSubjectT); bodyMsgT = escape(_parent.bodyMsgT); trace("Data= "+_parent.mailSubjectT+", "+_parent.bodyMsgT); // this.getURL("mailto:"+mailto+"?subject="+mailSubjectT+"&body="+bodyMsgT); // mailSubjectT = unescape(mailSubjectT); bodyMsgT = unescape(bodyMsgT); } 間違いをご指摘下さい。 それと、msg = "メッセージ"; で件名と本文が自動的に区分けされるのでしょうか?
602 名前:Now_loading...774KB mailto:sage [2007/10/11(木) 01:16:42 ID:x8KYzIaC] >>601 うちではそれでメーラーが立ちあがるよ。 プレビューじゃなくてブラウザ経由で確認してますか? メールフォームのようにサーバからメールを送るには、CGIが必要でそれは自分で 用意しなくてはなりません。 CGIについての知識が皆無な場合、自分で多少なりとも勉強する必要もあるでしょう。 とにかく、Flash単体でメールを送信することはできません。 ただし、OSに依存する機能ですがメーラーを立ち上げることはできます。 それが、上で解説されているgetURLで"mailto:"を指定する方法です。 ただし環境によって動作が変わったりしますので、件名や本分がきちんと入らないケースも あるようです。
603 名前:Now_loading...774KB mailto:sage [2007/10/11(木) 01:32:44 ID:n4LYUyeu] >>588 その mailSubjectT と bodyMsgT は何にも使ってないようだね。 他の部分に問題がありそう。 そのサンプルの頭に「Sample544の続きです」とか その章の頭に「環境を整える方法」とか書かれてない?
604 名前:Now_loading...774KB mailto:sage [2007/10/11(木) 01:34:50 ID:if9OzS9V] 同じ機能でラベルだけ変えたボタン(movieclipで作成)を複数並べたいとき、 スマートな作りってどんな感じのがありますか? ラベルにテキストフィールドを使ったら簡単だったんですけど、 絵でやろうとしたら、いいアルゴリズムが思いつきませんでした。 最悪、必要なボタンを個別に作ればいいんですけど、その前に 定番のやり方とか、いいアイデアがあれば教えてくださいませ。 ちなみに、やりたいことは単純で、 ボタンを押すとファイルを読んでその内容が表示される。 ボタンごとに割り当てられたファイルは異なり、ラベルの絵も異なる。 読み込みおよび表示用の関数は完全に同じ。 ボタンのラベルは、マウスのon/off、現在表示中、で絵が切り替わる。 これだけです。
605 名前:Now_loading...774KB mailto:sage [2007/10/11(木) 02:24:02 ID:n4LYUyeu] >>604 個人的にそういうMCにコード入れたくないので、 MC側は差の発生する最低限必要な絵だけ作って置いて、 AttachClickEvent(mc1, "file1.jpg"); AttachClickEvent(mc2, "file2.jpg"); こんな感じで対応が一覧で見えるようにして、関数側にメインの処理書く。 function AttachClickEvent(targetmc, filename){ targetmc.onRelease = function(){ this.textbox.text = filename; }; } この3行目を別の関数にする時クロージャ関係でちょっと苦労するかも。
606 名前:588&595&601 mailto:sage [2007/10/11(木) 08:52:59 ID:Imv5jEPW] >>602 すいません。プレビューでやっていました。 >>603 「環境を整える方法」は書かれていません。さも当然のように(誰でも) メールCGIが使えるような記述です。ただし、手元の本は2005年4月版 なので最新版は分かりませんが。
607 名前:_ [2007/10/11(木) 15:20:17 ID:8j07Lqtw] >>592 すいません.それを全部貼り付けて実行したのですが何も出てこないのですが・・ どういうことなんでしょうか?
608 名前:Now_loading...774KB [2007/10/11(木) 16:44:00 ID:4NtPYZv5] >>607 ActionScript3で書いてるので、パブリッシュ設定をActionScript3にしないと動かないです。
609 名前:Now_loading...774KB mailto:sage [2007/10/11(木) 17:15:14 ID:iSfms2At] >607 this.createEmptyMovieClip("box", this.getNextHighestDepth()); box._x=100; box._y=100; box.beginFill(0xFF6600); box.moveTo(0,0); box.lineTo(0, 80); box.lineTo(50, 80); box.lineTo(50, 0); box.lineTo(0, 0); box.endFill();
610 名前:Now_loading...774KB mailto:sage [2007/10/11(木) 22:40:12 ID:yzDtfjxL] aというムービークリップを配列mc_a[0],mc_a[1],mc_a[2]に入れて、場所を変えようとしたのですが、うまくいきません。 as3.0です。以下、ソースです。 .fla内 var aaa:contents = new contents(a); aaa.dot(); .as内 package { import flash.display.*; import flash.events.*; public class contents { var my_mc:MovieClip; var mc_a:Array = new Array(); public function contents(mc:MovieClip) {my_mc = mc;} public function dot():void { for (i=0; i<3; i++) { mc_a[i] = my_mc; } mc_a[0].x = 35; mc_a[1].x = 135; mc_a[2].x = 335; }}}
611 名前:Now_loading...774KB mailto:sage [2007/10/11(木) 23:14:33 ID:yzDtfjxL] addChildとかをやっていたら、できました。 ご迷惑おかけしました。
612 名前:588&595&601 mailto:sage [2007/10/11(木) 23:18:35 ID:VySIJ5K4] (FlashでCGIを使ってメールを送る質問の続き) プロバイダに問い合わせたところ、CGIはそのプロバイダが用意したHtmlによる 掲示板とアンケート用CGIしか利用できないそうです。従って600さんの2番目の ASを使うことにしました。 仕組みは若干変更して、root上に置いたボタン内に on (release) { System.useCodepage = true; //エンコード方式をShift-JISに変更 mailto = "abc@xxx"; subject = escape(subjectT); body = escape(cgiDataT); this.getURL("mailto:"+mailto+"?subject="+subject+"&body="+body); } としました。一応、メーラーは立ち上がり、宛先も希望の abc@xxx になっていまし たが、件名と本文は空白でした。これは602さんのコメントのように、環境依存で入 らないのかも知れません。 とりあえず、LoadVarsクラスによるエンコードは成功していますので、アンケート自体 のAS作成は続けます。 色々、有り難うございました。
613 名前:Now_loading...774KB mailto:sage [2007/10/12(金) 07:51:51 ID:la7NNrTi] >>594 スキンを変える。もしくは、テキストフィールドを使って.border=false;にするとか。
614 名前:Now_loading...774KB [2007/10/12(金) 11:08:05 ID:Hf3zl0dE] クラスについて勉強中なのですが、いまいちクラス&インスタンスメンバがハッキリ理解できません ↓はタイムラインに書いていたflvビデオ再生のスクリプトをASファイル用にしてみたのですが 一応動きますがstaticなど使わずつらつらと全部コンストラクタに書いてしまって、これでいいのかなとちょっと不安です クラス&インスタンスメンバ+コンストラクタな正しい形への修正箇所があればご指摘お願いします class FlvPlayer { var connect_obj:NetConnection; var stream_obj:NetStream; var videoSound:Sound; //コンストラクタ function FlvPlayer(flv_video:Object) { connect_obj = new NetConnection(); connect_obj.connect(null); stream_obj = new NetStream(connect_obj); flv_video.attachVideo(stream_obj); videoSound = new Sound(dummy_mc); dummy_mc.attachAudio(stream_obj);} //ビデオ消音 function volumeStop() { videoSound.setVolume(0);} //ビデオ再生 function videoPlay() { stream_obj.setBufferTime( 5 ); stream_obj.play( "video.flv" );} } ↓タイムラインのスクリプト var flvPl:FlvPlayer = new FlvPlayer(flv_video,dummy_mc); flvPl.volumeStop(); flvPl.videoPlay();
615 名前:Now_loading...774KB mailto:sage [2007/10/12(金) 13:38:19 ID:yQkbsrTW] AS3の質問です。 ムービークリップが終わってから、 次のムービークリップに行きたいのですがどうすればいいのかわかりません。 var _01:mc_01=new(mc_01); var _02:mc_02=new(mc_02); addChild(_01); addChild(_02); _01.gotoAndPlay(1); _02.gotoAndPlay(1); mc_01(フレーム数は未知)が終わってから、mc_02を始めたい。
616 名前:Now_loading...774KB mailto:sage [2007/10/12(金) 17:06:02 ID:y7UWNVJI] >615 AS3って、varでいきなりオブジェクトのプロパティを宣言できるの? AS2なら、「var _01:MovieClip=new Object();_01.mc_01〜」って、 2段階に分けないといけないけど。 あと、_01が終わったら云々の場合、AS2ならこうなる。 ※フレームアクションでの記述例。クラスファイルだと イベントハンドラ内部のデフォルト参照に自動的にthisがつくので 意味が変わってしまう。 var _01;MovieClip; var _02;MovieClip; _01.onEnterFrame=function(){ if (this._currentFrame>=this.totalFrame){ _02.gotoAndPlay(1); } }
617 名前:Now_loading...774KB mailto:sage [2007/10/13(土) 19:58:17 ID:3y0DHD2R] Actionscript勉強中です 環境 Flash8 winXP FLVPlaybackコンポーネントを使用してflvを再生する時に マニュアルにて import mx.video.*; my_FLVPlybk.autoPlay = false; my_FLVPlybk.contentPath = "www.helpexamples.com/flash/video/water.flv"; my_FLVPlybk.seek(3); my_FLVPlybk.play(); と書いてあります 自動再生はmy_FLVPlybk.autoPlay = false;を書けば設定できますが、swfファイルを表示した時にファイルを取得(seek)しないでplayボタンを押した時にファイルを取得する設定にするにはどのように書いたらいいのでしょうか? (youtubeのような動きで)
618 名前:617 mailto:sage [2007/10/14(日) 03:12:14 ID:zWroxzVw] >ファイルを取得(seek)しないで バッファリングの間違いだと思います
619 名前:Now_loading...774KB mailto:sage [2007/10/14(日) 03:27:48 ID:D7S7QXwg] >617 ボタンにイベント設定すればいいんじゃね?たとえば var my_FLVPlybk; | スクリプト書く | myButton_btn.onRelease=function(){ my_FLVPlybk.seek(3); my_FLVPlybk.play(); };
620 名前:617 mailto:sage [2007/10/14(日) 13:18:33 ID:WOvlYYa8] レス有難う御座います ボタンにイベントを設定する場合、skin(SteelExternalAll.swf)を使っているとそのskinのflaファイルを編集するという事ですか? FLVPlaybackコンポーネントの再生ボタンを指定するにはどうしたらいいのでしょうか?
621 名前:Now_loading...774KB mailto:sage [2007/10/16(火) 22:07:35 ID:qXpyYf9M] 質問です。 環境:winXP Flash8pro 書出し:ver.8 AS2.0 オープニングムービーを初回訪問時のみ再生し、 次回から表示させないようにするため、 SharedObjectクラスの使用を考えています。 ユーザーがセキュリティの設定でローカルへのデータ保存をOFFに 設定している場合は有効になりませんが、それ以外ブラウザ等で、 環境によってSharedObjectが使えないといったことはあるのでしょうか? 知っている方おられましたら、情報お願いします。
622 名前:Now_loading...774KB [2007/10/17(水) 00:32:27 ID:QRs4mHQ+] スクリプトの書き方(2.0)の事で質問させて下さい class Bottons { var MC1:MovieClip; var MC2:MovieClip; var MC3:MovieClip; var MC4:MovieClip; var pressN:Number function Bottons(m1:MovieClip ,m2:MovieClip ,m3:MovieClip ,m4:MovieClip) { MC1 = m1; MC2 = m2; MC3 = m3; MC4 = m4; } function bottonP(pressN:Number) { if(pressN == 1) { MC1.gotoAndStop(2); MC1.enabled = false; MC2.gotoAndStop(1); MC3.gotoAndStop(1); MC4.gotoAndStop(1); MC2.enabled = MC3.enabled = MC4.enabled = true; } if(pressN == 2) { MC2.gotoAndStop(2); MC2.enabled = false; (以下略) 1フレーム目に押される前の絵、2フレーム目に押された時の絵のmcボタン(botton1〜4)を配置し、一つのmcボタンを押した時に 押したmcボタンに付いた数字をbottonP関数の引数に送りチェック 押したボタン自体を押せなくしてフレームを2に移動、その他のmcボタンのフレームを1に&押せるようにする、といった事を打ったのですが ↑のように、変数指定やメゾットをどうもだらだらと書いてしまう書き方しかできません・・・ もっとスッキリとした効率の良い書き方があれば勉強の為にも教えて下さい
623 名前:Now_loading...774KB mailto:sage [2007/10/17(水) 00:50:25 ID:lKIBMR2h] >>622 class Bottons { private var _mcList:Array; function Bottons():Void { _mcList = new Array(); } public function addItem(mc:MovieClip):Void { _mcList.push(mc); } public function bottonP(pressN:Number):Void { for(var i=0; i<_mcList.length; i++) { var mc:MovieClip = _mcList[i]; if(pressN == i) { mc.gotoAndStop(2); mc.enabled = false; } else { mc.gotoAndStop(1); mc.enabled = true; } } } }
624 名前:Now_loading...774KB mailto:sage [2007/10/17(水) 08:39:22 ID:E55ld3QG] >>622 状況に合わせて少数のボタンの有効無効を設定するなら、ベタに書いた方が 解りやすいし、後々修正するときにも簡単にできる。 短いコーディングがスマートというわけではなく、解りやすくて修正しやすいコーディングの方が良いよ。
625 名前:Now_loading...774KB [2007/10/17(水) 14:05:25 ID:vEXp6IqN] 質問です。 テキストフィールドに、stylesheetとtextformat両方を指定した場合 片方しか有効にならないのですが、これは仕様なんでしょうか? 環境は WinXP, Flash8, AS2 です。
626 名前:Now_loading...774KB mailto:sage [2007/10/17(水) 14:46:45 ID:UWqk762w] Bottonってボットン?
627 名前:Now_loading...774KB mailto:sage [2007/10/17(水) 14:50:13 ID:eGxIedqm] フレームラベルを指定して飛んだときに、1つ前のフレームから再生されるのですが これはそういう仕様なんでしょうか?それともなにかミスが考えられるのでしょうか・・ MX2004です
628 名前:Now_loading...774KB mailto:sage [2007/10/17(水) 14:57:53 ID:mvIPS4vV] >>627 そんな仕様はない。 ひとつ前のフレームから再生しているように「見えている」だけ、とか 別のASが邪魔してるとか、移動先のフレームがまだ読み込まれてないって可能性はない?
629 名前:622 mailto:sage [2007/10/17(水) 16:34:00 ID:QRs4mHQ+] >>623-624 レスありがとうございました、624様のお言葉も頭に置きつつ、623様の書かれたスクリプトも参考にさせて頂きます
630 名前:Now_loading...774KB mailto:sage [2007/10/17(水) 17:43:44 ID:jLB/9o3N] >>626 Buttonがぶっ飛んだ
631 名前:Now_loading...774KB mailto:sage [2007/10/17(水) 18:44:30 ID:7wtQRXo1] フラッシュを再生したら自動で1度だけ書いたスクリプトを実行させる 文って何?
632 名前:Now_loading...774KB mailto:sage [2007/10/17(水) 19:13:41 ID:6kNNesfq] >627 そのフレームにtrace("通過")とか書いて確認汁。 >631 ルートのフレーム1に onLoad = function(){ ) とか
633 名前:Now_loading...774KB mailto:sage [2007/10/17(水) 20:00:11 ID:LCTz3iR8] >>632 それうまくいかない時がある
634 名前:Now_loading...774KB mailto:sage [2007/10/17(水) 20:05:16 ID:7ignNLKe] >>632 それは1フレしか無いときか? それなら俺は this.onEnterFrame = function() { } 内にフラグ=Trueで実行されるASを書いて、更にonEnterFrame内 の最後にフラグ=Falseとしている。 1回しかTrueの機会がないので、onEnterFrameでも1回しか実行されない。
635 名前:627 mailto:sage [2007/10/17(水) 20:14:50 ID:6IAwvrDI] >>628 >>632 traceで確認すると、やはりずれていたので何かscriptを間違えてるみたいです。 いろいろ試してみます。有難うございました。
636 名前:Now_loading...774KB mailto:sage [2007/10/17(水) 20:53:02 ID:SZT5WKlR] >>632 つか、onLoadはそういう使い方しないと思う。 フレームアクションで使うもんじゃなくてクラス内での特定の処理用って 野中氏が書いてた希ガス。 >>634 onEnterFrame使うなら、実行の後にdeleteすればよくね? 毎回onEnterFrameで判定させ続けるのは無駄に思えるんだが。
637 名前:Now_loading...774KB mailto:sage [2007/10/18(木) 01:41:52 ID:CcUX8g3U] 無駄っていうか、負荷がかかるから、 delete this.onEnterFrame; だな。
638 名前:Now_loading...774KB mailto:sage [2007/10/18(木) 18:37:05 ID:2UT4DSWD] >>632-37 今北産業 よく分からないからまるごとAS書いてクレパス
639 名前:Now_loading...774KB [2007/10/18(木) 18:56:03 ID:dcmeTTin] 超基本的な質問なんですが、何か処理を常にループさせておきたい時って 皆さんどうされてるんですか?私はいつもsetIntervalを使うのですが、 もっと一般的な方法があるのかと思って質問しました。
640 名前:Now_loading...774KB mailto:sage [2007/10/18(木) 19:22:38 ID:0201MtKR] >>639 そこでonEnterFrame
641 名前:Now_loading...774KB [2007/10/18(木) 21:43:31 ID:dcmeTTin] >>640 onEnterFrameってムービークリップを用意する手間がかかりませんか?
642 名前:Now_loading...774KB mailto:sage [2007/10/18(木) 21:46:23 ID:Q9e0+u1z] >>641 ASで空のMCをつくるだけならそんなに手間かからんと思う
643 名前:Now_loading...774KB [2007/10/18(木) 21:47:43 ID:dcmeTTin] >>642 なるほど。 で、それはsetIntervalよりも一般的に用いられている方法なのでしょうか?
644 名前:Now_loading...774KB [2007/10/18(木) 21:55:45 ID:ZIfnorVb] 少しスレ違いかもしれないんですが、 ニコニコ動画みたいにコメントをリアルタイムで更新して表示したいんですが、 どうやればいいんでしょうか? setIntervalとかで一定時間ごとに読みに行く以外の方法は。。。?
645 名前:Now_loading...774KB mailto:sage [2007/10/18(木) 23:06:33 ID:Q9e0+u1z] >>643 現在それが一般的かどうかは知らん。 MXより前は、setInterval()なんてものは片鱗すらもなく onClipEvent(enterFrame)しかなかった。 それをひきついだ形でonEnterFrameを使う人はいるだろう。 もともとはフレームアニメーションのソフトだったし マシンスペックが低い時代には 高頻度な描画更新が期待できなかったこともあり、 フレーム単位で設計を考えることが「昔は」一般的であったと思う。
646 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 00:54:36 ID:W79YCVwl] >>639 待機時間を簡単に変えられるsetIntervalの方が都合良い場合が多いと思う。 >>644 Flash側からリクエスト投げた状態で サーバ側でわざと出力せずにSleepしておくとか。 なんにしろサーバ側の実装が大変なはず。
647 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 01:12:01 ID:i7Xv9cX6] >>643 普通描画と同期させたいからonEnterFrameを使う むしろsetIntervalは予期せぬタイミングでよばれてクラッシュを引き起こす恐れがあるイメージがある
648 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 01:23:52 ID:tuMxnnGk] setIntervalはプロセッサの負荷に応じてと玉突き状に遅れていくから特殊用途にしか使わないな。
649 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 01:43:11 ID:O6fMLnRZ] >>647 >>648 予期せぬタイミングって、しかもクラッシュって、、設計自体がおかしいからじゃないのそれ。 特殊用途ってなんだよw
650 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 01:57:20 ID:46rUnYyO] 自分は使わなかったから知らなかったけど setIntervalで実行される関数の間隔は onEnterFrame、つまりswf自体の描画フレームレートより 早い間隔に設定しても内部ではsetIntervalの関数が間隔通りに 実行されるみたいね。 てことは描画はあくまで30fpsだけど 入力精度や内部処理が60fps相当なゲームも作れるのか・・・ 色々と面倒そうだけど。
651 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 02:04:53 ID:fRuXf06C] >>649 確かに設計に問題がなければ大丈夫だろうが、 問題を起こしにくいにこしたことがない。 要は、fpsに同期して考える方が設計が楽ってことだと思う。 Flashはどうしても描画に負荷がかかりやすかったから fpsが出なければsetIntervalが正確でも意味がないということもあるし…。
652 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 04:55:37 ID:dqfD4AMd] 極端に負荷のかかるループを実行する時は、 setIntervalでsleepの変わりを実現してる。 例)100万回のループ処理がある場合、 for文で100万回まわさずに、 1万ループx100回に分割し、 setInetrval(loopFunc, 10); な感じで実行してる。
653 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 08:00:11 ID:O6fMLnRZ] >>652 いわゆる待ち時間をつくるのはsetIntervalで普通だけど、 その例は最悪だなw forループ処理とsetIntervalでのコード実行のコストを考えれ。
654 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 16:14:41 ID:dqfD4AMd] >>653 実行コストではなく、 他言語に用意されるシステム割り込み『sleep関数』の代わりと書いているのだが? 例えば1forループ10秒かかる処理があったと過程した場合、どう組むのが最適? setInervalでループ分割する事でブラウザ&Flashのフリーズを阻止する。 なんてのは、中級者以上なら常套手段だと思うのだがw 実行コスト厨っぽいから先に言っとくけど 「そんな負荷かかる処理はロジックが悪い!」とか言う答えは無しな。
655 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 16:32:12 ID:O6fMLnRZ] >>654 分散処理で負荷軽減はできるが、その例は良くないってことを言ってるのよん。 forループ10秒かかるってのもすごいが、1万ループを100回に分割って、、、、 サーバー側の処理じゃないんだから、クライアント側ではそんなことは普通しないでしょ。
656 名前:Now_loading...774KB [2007/10/19(金) 16:34:42 ID:fpwmazCs] おはようございました。 Windows2000、FLASH MX 2004を使っています。 LoacalConnectionに関して質問させてください。 //受信側 rcv_LCon = new LocalConnection(); rcv_LCon.connect("receiver"); rcv_LCon.rcvTitle = function(a) { //30行くらいの処理 } //送信側 send_LCon = new LocalConnection(); スクリプトで生成したボタン.onRelease = function() { _root.send_LCon.send("receiver","rcvTitle",this._name.substr(5,1)); } 上記のような形で初めてLoacalConnectionを使って作ってみたのですが、送信側のswfで生成した5つのボタンの中でどのボタンを押しても、 一度だけ受信側のswfで関数が呼び出されるのですが、二度目はどのボタンを押しても受信側の関数が呼び出せなくなってしまいます。 プレビューで変数を見てみても、受信側のrcv_LConと、送信側のsend_LConはきちんとずぅっと残っているのですが、 なぜ一度通信した後、以降通信出来なくなるのかが分かりません。 解決方法、または解決方法が記されたページがありましたら、教えていただけないでしょうか? よろしくお願いいたします。
657 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 16:47:43 ID:tuMxnnGk] >>655 分散処理って具体的にどういう事? Javaかなんかとごっちゃに考えていない?
658 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 16:53:53 ID:O6fMLnRZ] >>657 たとえば、MCを100個attachする。それぞれのスレッドで動くよね。 for文を分割してsetIntervalを100個作ってそれを動かす。そんな必要あるんかw ごっちゃというか、OOPそのものなんだけどなw
659 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 16:56:03 ID:dqfD4AMd] >>655 >>forループ10秒かかるってのもすごいが、1万ループを100回に分割って、、、、 処理内容と動作スペックでは十分想定の範囲。 >>サーバー側の処理じゃないんだから、 >>クライアント側ではそんなことは普通しないでしょ。 これは、クライアントだからこそするんじゃね? 古いマシンだと、Flashに全てのリソース奪われてブラウザがフリーズ状態になる事だってある。 だからこそ細かめにループ分割しておくことで、ユーザの割り込み=キャンセル処理が可能な実装をしておくべきなのでは。
660 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:05:59 ID:O6fMLnRZ] >>659 古いマシンってどんだけ古いんだよw ってのはさておき、その例では「setInterval使えばfor文が早くなるんだぜ」な感じで あんまし表現が良くないってこと。そこがきになったんよ。
661 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:09:36 ID:8bxNeY9T] >>658 いつからムービークリップはマルチスレッドで動くようになったんですか? 私の知っているFlashではforループがどこかで回っていると、他の処理は 並行的に実行されなくなるんですが? ムービークリップの数だけスレッドができてしまったら、スレッドの切り替え にえらいコストがかかりそうですね。synchronize機構も無い言語で、 知らないうちにマルチスレッドで動いてるなんて怖い時代になったものですね、と。 for分けたほうが速いなんていってる人はここにはいねぇだろ。よく読めや
662 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:10:34 ID:DcvvAsvL] >644 NetSterem.send()またはSO.onSync() FCSのスクリプトだ。 ただし、ニコ動は一定時間ごとに更新が働いていそうだから ストリームからの同期ではなく、setIntervalで SOの状態を反映させている可能性もある(負荷軽減のため) たしかAS3からは「setDirty()」で、同期を制御することができるんだっけ? それも使ってるかも知れない。
663 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:12:27 ID:O6fMLnRZ] >>661 例が悪いって言ってるのが解らない奴がいたw
664 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:14:19 ID:8bxNeY9T] 釣られましたごめんなさい
665 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:18:40 ID:dqfD4AMd] >>658 >>for文を分割してsetIntervalを100個作ってそれを動かす。そんな必要あるんかw って時点で意味を全く理解していない事がわかったw あとFlashにスレッドに該当するものは存在しないよ。何をスレッドと思い込んでるん? >>659 最近のマシンでも1,2秒フリーズするような処理はあるだろ? それを体感させないくらいの処理に分割する。って事だ。
666 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:20:05 ID:dqfD4AMd] 穴だらのコードだけど、分割例あげとく。 var ONE_TIME_MAX:Number = 10000; var stateObj:Object = {i:0}; stateObj.intervalID = setInterval(this, "loopFunc", 10, stateObj); function loopFunc(stateObj:Object):Void { var sTime:Number = getTimer(); for (var i:Number = 0; i < ONE_TIME_MAX; i++) { stateObj.i++; } trace("loop:" + stateObj.i + " time:" + (getTimer() - sTime)); if (stateObj.i > 1000000) clearInterval(stateObj.intervalID); } ONE_TIME_MAX; の値を下げれば、 クライアント側のマシンは体感的にはフリーズしないが、全体の処理時間は多少伸びる。 ONE_TIME_MAX; の値を上げれば、 クライアント側のマシンは体感的にはフリーズするが、全体の処理時間は早くなる。 用途と想定環境で調整しろってこった。
667 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:29:27 ID:O6fMLnRZ] >>665 スレッド処理といえば解るのかな?スレッド自体プログラムで処理してるわけでしょ。 スレッドが無いじゃんというのはかまわないけど、実際そうだからしょうがないしw
668 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:36:43 ID:O6fMLnRZ] >>666 多少伸びるとか、体感的とか、、ちゃんとベンチマークしたんかいw たまたま、そんとき常駐ソフトがうごいたとかじゃねーのかw
669 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:44:17 ID:8bxNeY9T] 普通に考えればこんなアホいるわけないんだから、釣りに決まってる。 みんなも釣られるなよ!
670 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:46:13 ID:O6fMLnRZ] >>669 典型的なゆとりの捨て台詞だなw
671 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:46:30 ID:dqfD4AMd] >>668 わざわざtrace()つきでサンプルあげたんだから実行してみろよww ・C2D 2.4Ghz / 1ループ100万処理 1.2秒間で完了。処理中は他の処理全てが停止。 ・C2D 2.4Ghz / 1ループ5万処理 x 20 1.4秒間で完了。同時(擬似)に他の処理が可能 俺だったら、後者を取る。
672 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:51:36 ID:O6fMLnRZ] >>671 だからさ、そんなの意味無いっていってるじゃん。 純粋なPCで、せめて1000回試行して、、ってつか、1.4秒間に他の処理って何なんだそれ?w
673 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:56:17 ID:46rUnYyO] / ̄ ̄ ̄ \ ホジホジ / ― ― \ / (●) (●) \ | (__人__) | 動けばどうでもいいよ \ mj |⌒´ / 〈__ノ ノ ノ
674 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:57:13 ID:dqfD4AMd] ポカーン(゜Д゜) 純粋な技術の話が、ゆとり論点「そんなの意味ない」に変わったので、もういいやw 制作の現場でんな事言ったら、 「お前の存在のが意味ねーよw」って言われちゃうんだから(><
675 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 17:58:51 ID:O6fMLnRZ] >>674 ゆとり発言にはゆとりで返答したんだけど、、、、
676 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 18:01:42 ID:tuMxnnGk] 膨大にfor,while回す場合は最低限、FlashPlayerに無限ループフラグを建たせない程度に分割する必要はあると思うよ
677 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 18:01:50 ID:O6fMLnRZ] 厳しいようだけどホントにそうだからね
678 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 18:02:54 ID:tuMxnnGk] >>677 え?何が?
679 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 18:04:34 ID:8bxNeY9T] だから釣られんなって
680 名前:656 mailto:sage [2007/10/19(金) 18:24:12 ID:fpwmazCs] すいません。分かる方いたら>>656 お願いします。
681 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 18:31:22 ID:EXfWcKY4] >>680 それだけじゃわからんから、flaとHTMLをUpしたら?
682 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 18:44:27 ID:8bxNeY9T] >>680 その「30行くらいの処理」に問題があるんじゃないのかな? trace(a);だけで実験したけど何の問題も起きんよ。
683 名前:Now_loading...774KB mailto:sage [2007/10/19(金) 18:54:49 ID:bT3V+drs] だよなあ。他の言語ならともかく、Flashはループでプレーヤーからブレーキかけられるからなあ。 良く使い慣れてる人ほど、分割する仕組みを考えるわな、常識的に考えて。 脳内の人はどうかしらんけど。
684 名前:656 mailto:sage [2007/10/19(金) 19:05:16 ID:fpwmazCs] >>681-682 返信ありがとうございます。 仕事でクライアント企業のために作っているホームページなのでうpする事は出来ないのですが、 >>682 の発言から、テストでLocalConnectionを実験するためだけのSWFを作って実行してみたところ、 何の問題もなく何回でも通信出来ました。 「30行くらいの処理」の中に外部テキストファイルを読みに行ったり、onEnterFrameを作ったりと色々やってるので、 その中の何処に問題があるのか自分なりにテストして調べてみたいと思います。 すいません。ありがとうございました。
685 名前:Now_loading...774KB mailto:sage [2007/10/20(土) 13:41:10 ID:imkaZe3i] ttp://www.kisekae.jp/free/makeup01/index.html ここの壁紙を作るゲームのようなことをやりたいのですが、 どのように作ってるのかわかりません。 無数の壁紙を用意してるようでもなさそうですし、サーバーで壁紙を 作ってるとは思いますが、どうすればできますか? winXP FLASH8です
686 名前:Now_loading...774KB [2007/10/20(土) 13:49:05 ID:2Mx4Dfp7] 質問です。 Flashを表示した時に、はじめからテキストボックスにキャレットを表示させて おきたいのですが、どうすれば良いでしょうか。私で調べたところ、 Selection.setFocusでフォーカスを与えられるようですが、 1フレーム目にSelection.setFocus("_root.textFild1");と記述しても キャレットは表示されません。。(文字を打ち込むことだけは出来るようですが) 一般的な方法を教えていただけると助かります。
687 名前:Now_loading...774KB [2007/10/20(土) 23:20:33 ID:+I8Fy8oj] class Book1 { var vol:Number = 20; class Book2 { function Book2() { trace(vol); var titleS:Book1 = new Book1(); var titleJ:Book2 = new Book2(); クラスBook2でBook1のvol変数を参照したい場合どうすればいいのでしょうか?読み込みテストでtraceをしています 調べたらpublicを付ければ他のクラスからもアクセス可能とあって、 実際にpublic var vol:Number = 100としても「'vol' という名前のプロパティはありません。」とエラー ただ試しにとtrace(Book1.vol);としてみたら「参照されているプロパティには、静的属性がありません。」とエラーが出ます どうすれば読み込む事ができるのでしょうか?AS2.0です
688 名前:Now_loading...774KB mailto:sage [2007/10/20(土) 23:35:43 ID:/VMUh1e8] public function getVol():Number{ return vol; } でどうだ
689 名前:Now_loading...774KB mailto:sage [2007/10/20(土) 23:36:14 ID:0hjIJdd/] >>687 そこはBook1.volじゃなくて、titleS.volじゃない? Book1、Book2てのはあくまでクラスという殻の名前で、 そのクラスの殻をかぶった実体はtitleS、titleJという クラス変数なのだから。 変数の中身はBook2中のtrace(vol);のとこを trace(titleS.vol)にすれば多分いける(クラスの宣言の仕方・位置によってはできないけど)。
690 名前:Now_loading...774KB mailto:sage [2007/10/21(日) 01:10:29 ID:z6nWa6iZ] >>687 場合によってはclass Book2 extends Book1 として継承すべきところかも知れないし、 public static var vol:Number = 20;と静的メンバにすべきところかも知れないし、 Book2のコンストラクタでfunction Book2(b1:Book1)として持たせておいてb1.volと参照べきかも知れない。 正解は687しか分からない。
691 名前:Now_loading...774KB [2007/10/21(日) 14:45:22 ID:ac0oRU+C] ものすごい初歩的な質問かもしれんが ステージに自分でMCを配置して そのMCのリスナーをドキュメントクラス(main.as)から登録ってどうやるんですか? var MC_A:MovieClip; MC_A.addEventListener( MouseEvent.MOUSE_DOWN, ふぁんくしょん ); エラー 「null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。」 みたいな事になります。 ちなみに、Windows CS3のAS3.0です。 ご教授お願いします。
692 名前:Now_loading...774KB [2007/10/21(日) 15:01:11 ID:B82okr/G] FLash Lite1.1でボタン機能を無効にする方法を教えてください。 AS2.0だと button.enabled =false; でボタン機能がむこうになりますが、こんな感じでボタンを作動させない方法は LITE1.1にありますか? _visibleで非表示にもできませんよね?
693 名前:Now_loading...774KB [2007/10/21(日) 15:15:13 ID:wjACHB4b] 外部ファイルの読み込みがうまくいきません。 FLASHで写真アルバムのようなページを制作しています。 読み込む方のphoto.swfを単独で開いたらうまくいくのですが、 親のmain.swfにload_□□mc.loadMovie("photo.swf"); でphoto.swfを読み込ませると最初のstop();まで読み込み、 次の写真へは送りボタンを押しても機能しません。 これはどういったことが問題なのでしょうか。 分かる方ぜひともお教えください。お願いします。
694 名前:Now_loading...774KB [2007/10/21(日) 15:20:45 ID:ac0oRU+C] >>693 たぶん、photo.swfのASに_root何チャラって書いてないか? mainの中のphotoだからRootはmain.swfになるのよ っで、AS2.0だよね?
695 名前:Now_loading...774KB [2007/10/21(日) 15:28:20 ID:ac0oRU+C] >>693 ちなみに、Rootの設定がAS内でできたような。。。 すまん、わすれた
696 名前:Now_loading...774KB [2007/10/21(日) 15:33:41 ID:wjACHB4b] >>694 ご回答ありがとうございます。 最近はじめたものであまりAS1.0とAS2.0の違いも分からないのですが 多分2.0です。 photo.swfの中のボタンに_root記述してありました。 photo.swfのシーン1のタイムラインに飛ばしたいのですが _rootの代わりに何と記述すれば良いでしょうか?
697 名前:Now_loading...774KB [2007/10/21(日) 15:37:19 ID:ac0oRU+C] this.gotoAndPlay( ) だな
698 名前:Now_loading...774KB mailto:sage [2007/10/21(日) 15:40:42 ID:e47dlEKS] >>691 ドキュメントクラスってのがよくわからんが、オーサイズ時にインスタンス名付ければ そのままそれが使えるけど。 >>692 FlashLite1.1はas1レベルだっけ?ヘルプ見て無ければ無いのでしょう。 >>694 パス指定が合ってるかどうか確認。_lockrootあたりをヘルプで調べてみ。
699 名前:Now_loading...774KB [2007/10/21(日) 15:43:41 ID:ac0oRU+C] >>698 あ、ほんまや。。。 ありがとう。 いちいち、宣言しなくてもいいですね。orz
700 名前:Now_loading...774KB [2007/10/21(日) 16:10:33 ID:wjACHB4b] 693です。 みなさまありがとうございました! _lockrootで解決いたしました。
701 名前:Now_loading...774KB [2007/10/21(日) 16:20:09 ID:wjACHB4b] もうひとつ質問です。 親swfからloadMovieで読み込ませている外部ファイルswfの 任意のタイムライン(ラベルをつけてある)に親swfからリンクできますか?
702 名前:Now_loading...774KB [2007/10/21(日) 16:29:04 ID:ac0oRU+C] インスタンス名.gotoAndPlay("ラベル名") でいけんじゃね? 親SWFの子SWFにちゃんとインスタンス名を指定してあげること
703 名前:Now_loading...774KB [2007/10/21(日) 16:48:04 ID:wjACHB4b] >>702 ご回答ありがとうございます。 親swfに配置してあるボタンに on (release) { _root.load_shoppingmc.gotoAndPlay("tee"); } と記述したのですが、やはり飛びません。う〜む
704 名前:Now_loading...774KB mailto:sage [2007/10/21(日) 17:06:24 ID:jBT9Iizq] >>703 親swfのバージョンと、子swfのバージョンは? あと、trace(_root.load_shoppingmc) でちゃんと配置されてるか試してみた?
705 名前:Now_loading...774KB [2007/10/21(日) 17:30:21 ID:wjACHB4b] ご回答ありがとうございます。 パブリッシュの設定はそろえてあります。 trace(_root.load_shoppingmc) はどこに記述すれば良いのでしょうか?
706 名前:Now_loading...774KB mailto:sage [2007/10/21(日) 17:40:45 ID:jBT9Iizq] >>705 on(release) に
707 名前:Now_loading...774KB [2007/10/21(日) 17:43:49 ID:wjACHB4b] 出力画面にはundefinedとでました。
708 名前:Now_loading...774KB mailto:sage [2007/10/21(日) 17:48:31 ID:jBT9Iizq] パスが間違ってる可能性があるので、見てみてください
709 名前:Now_loading...774KB [2007/10/21(日) 17:59:45 ID:ac0oRU+C] load_shoppingmcはインスタンス名ですか? load_shoppingmcを選択して左下のプロパティに「load_shoppingmc」ってでてますか?
710 名前:Now_loading...774KB [2007/10/21(日) 18:47:14 ID:QezD4BGt] setIntervalの話が出てたんでついでに質問。 www.adobe.com/cfusion/showcase/index.cfm?event=casestudyprint&casestudyid=89534&loc=ja ↑の、 >切り替えタイミング単純にをsetIntervalアクションで制御すると、時計と映像がずれる場合があり、 >時間と時計の動きを正確に合わせるという所も注意を要しました。 って具体的にどうやってのかね? 俺も1秒間隔で実行するスクリプトを組んだんだがたまにずれてくんのな。
711 名前:Now_loading...774KB [2007/10/21(日) 18:55:56 ID:ac0oRU+C] setIntervalで実行されるファンクション内で時間を取得してるんでは? setIntervalでコンマ単位で実行 その中のファンクション内で1秒たったら実行 みたいな感じかな〜 なんか、力技っぽいけど
712 名前:Now_loading...774KB [2007/10/21(日) 19:04:09 ID:ac0oRU+C] またまた質問で申し訳ないんですが。 Flash.swf?a=12 みたいな感じでGETで渡した値ってメインフレームの「a」に入るけど AS3.0のドキュメントクラスを使って作ってるFlashの場合どうやって取得するの? 一応、自分の書いたAS張っておきます。 ■ドキュメントクラス package { public class main extends MovieClip { var a:Number; function main(){ trace( a ); } } } ■メインフレームアクション なし ■結果 null orz...
713 名前:Now_loading...774KB [2007/10/21(日) 19:18:51 ID:wjACHB4b] >709 load_shoppingmcはインスタンス名です。 プロパティのところに表示されてます。
714 名前:Now_loading...774KB [2007/10/21(日) 20:01:03 ID:ac0oRU+C] >>713 すまん。わからん。 とりあえず、trace(_root.load_shoppingmc)でundefinedって出たなら そんなインスタンスねえよってことだから アクションスクリプト書くところの上部分「ターゲットパスを挿入」でみてみたら?
715 名前:Now_loading...774KB [2007/10/21(日) 20:18:35 ID:wjACHB4b] >>714 ありがとうございます! なんとかやってみます。
716 名前:Now_loading...774KB mailto:sage [2007/10/21(日) 20:28:32 ID:zqyeyAul] >>712 trace(LoaderInfo(loaderInfo).parameters.a); かな? >>710 >>711 の言う通り。setIntervelは結構いい加減。FPSによってもズレるから 時間とかカウントダウンは都度、PCの時間をチェックした結果を使った方がよさげ。
717 名前:Now_loading...774KB mailto:sage [2007/10/21(日) 20:45:31 ID:sgZ6F/K5] >>710 >>711 >>716 getTimer(); が楽だぜ。
718 名前:Now_loading...774KB [2007/10/21(日) 21:09:08 ID:ac0oRU+C] >>716 おお!! 助かる!! ありがとう!
719 名前:Now_loading...774KB [2007/10/21(日) 23:56:42 ID:ac0oRU+C] またまたまた質問で申し訳ない 現在動的にPOSTデータを生成してるんですがうまく動きません。 ご教授お願いします。 動作環境:AS3.0 package { import flash.net.*; public class main extends MovieClip { var PostRequest:URLRequest = new URLRequest(); public function main() { test1(); } function test1(){ for ( var N:Number in PostArray ){ myCString = "c"+N+ "_"; PostStr = myCString + "test"; PostRequest[PostStr] = N; } } } } 結果----- flash.net.URLRequest のプロパティ c0_test を作成できません。 わかりくいソースですが、よろしくお願いします。
720 名前:Now_loading...774KB [2007/10/22(月) 00:03:15 ID:LJ9icd3x] 環境 OSはWinXP-Pro,ソフトはFlash8-Pro root(ステージ)上のマウスの位置を把握したいのですが出来ません。ASはrootの フレームのイベントとして下を書いています。 this.mouseDown = function() { trace("mouseX= "+_root._xmouse); }; traceが表示されません。どこが駄目なのでしょうか?
721 名前:Now_loading...774KB mailto:sage [2007/10/22(月) 00:06:10 ID:qfpgHYn7] >>720 this.onMouseDown = function() { trace("mouseX= "+_root._xmouse); };
722 名前:720 mailto:sage [2007/10/22(月) 00:28:41 ID:LJ9icd3x] >>721 ああ、そうだった。 さんきゅう。
723 名前:Now_loading...774KB mailto:sage [2007/10/22(月) 01:20:02 ID:eOPDElNt] >>719 URLRequestはdynamicじゃない
724 名前:Now_loading...774KB mailto:sage [2007/10/22(月) 01:54:34 ID:8gzli1sS] >>17 回答になるURLだけ。 livedocs.adobe.com/flash/9.0_jp/main/00000846.html
725 名前:724誤爆 mailto:sage [2007/10/22(月) 01:57:03 ID:8gzli1sS] おかしいな、スレタイ確認してから書き込んだのに(ノ∀`)
726 名前:Now_loading...774KB [2007/10/22(月) 02:38:42 ID:+xTs4Kq3] >>723 え!! そうなんですか!? でも、どうやって動的な変数を作るんですか?
727 名前:Now_loading...774KB [2007/10/22(月) 03:15:52 ID:+xTs4Kq3] >>726 URLVariablesですね。。。 自己解決しました。 >>723 ありがとうございました。
728 名前:Now_loading...774KB mailto:sage [2007/10/22(月) 14:55:07 ID:J3FeIoLe] >>711 >>716 >>717 なるほど時計と同期とればいいのか、 当たり前の話だけど目から鱗だった。 ありがとう。
729 名前:Now_loading...774KB [2007/10/22(月) 16:09:21 ID:MLLh9Prc] 間違って 兆速で答えるスレ に書いてしまったのですがこちらにもポストさせて頂きます、申し訳ありません。 AS2におけるMovieClipLoaderについて質問です。 例えば、 _root -testMC -loadingMC という構成でMCを2個置くとします。 testMCには単純に矩形を描画して、とりあえず試しに this.onEnterFrame = function(){ this._rotation += 10; } とか書いて回しとくとします。 で、loadingMC内でMovieClipLoaderを使い、 jpgやswfを何かのタイミングで読み込むと、 ファイルのロード中(onLoadProgressが呼ばれている間)に testMCの回転も止まってしまうのですが、自分の環境だけでしょうか? ロードが終わればtestMCの回転も再開します。 onLoadProgress以外の処理が全てストップしているように見えるのですが… 読み込むswfやjpgのファイルサイズが小さい場合には気にならないのですが、 大きくなると止まっているのがよく分かる状態です…。 どなたかこの対処法などご存知ないでしょうか…?
730 名前:Now_loading...774KB [2007/10/22(月) 16:25:01 ID:gP/TdxM1] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) マウスポインタの動きについて質問です。 root内あるいはMC内でオリジナルデザインのマウスポインタを動かす際に マウス(分解能は変えない)を20cmくらい動かしてもroot内あるいはMC内に 収めるにはどういう方法が考えられますでしょうか? 当方で試した仕組みは、オリジナルデザインのマウスポインタMCをnewMouseM として、このイベントを(すいませんAS全部書きます) onClipEvent (load) { Mouse.hide(); moveRate = 50; //比率を50%に } onClipEvent (mouseMove) { this._x = 0.01*_root._xmouse*moveRate; this._y = 0.01*_root._ymouse*moveRate; //moveRateが100の場合、動きが一致する updateAfterEvent(); } としました。これで一応は本物のマウスの半分の動きが実現できますが、本物 のマウスポインタがディスプレイ(15インチ,10024*768)の端に到達すると動か なくなります。 マウス自体の分解能は変えれば一番手早いのですが、同じPCを他の用途にも 使うのでマウスの設定はなるべく避けたいです。なお、マウスポインタ自体の座標 を変えようと _root._xmouse = _root._xmouse/10; などとしましたが駄目でした。 アドバイスを願います。
731 名前:Now_loading...774KB [2007/10/22(月) 18:08:55 ID:vxixU9N4] Flash CS3Pro WinXPsp2 を使ってます。ActionScript3について質問します。 MovieClipを順番に並べて各MCにアクセスしたいんですが、 AS2でやってた方法が使えず困ってます。 var cnt:int; var mc:MovieClip; for (cnt=0; cnt<3; cnt++) { mc= new bt(); mc.name = "bt"+cnt; mc.y= cnt * 30; container.addChild(mc); } これでリンケージされたムービーbtを配置することは出来たのです。 しかし、各MCにアクセスすることが出来ません。 例えば2個目のmcをvisible=falseにしたりとか、mc.visible=false でも bt1.visible=falseでもダメでした。 AS2の頃はmc[cnt] = new bt();みたいにして、 オブジェクト名を付けられた気がするんですが、AS3ではどうすればいいのですか?
732 名前:Now_loading...774KB mailto:sage [2007/10/22(月) 18:19:03 ID:qMJFNePx] >>729 そもそも、フレームレートはどの位? 速すぎるのは駄目だから、1fpsでは試した?
733 名前:730 mailto:sage [2007/10/22(月) 18:47:05 ID:qMJFNePx] (訂正) マウスの分解能は通常のマウスでは調整できないですね。 失礼しました。 代わりに コンパネ → マウス → マウスポインタ → ポインタの速度を選択する で調整できますが、さっき書いた通り、他の用途を考えるとこれは避けたいです。
734 名前:Now_loading...774KB mailto:sage [2007/10/22(月) 18:54:58 ID:9lhBhZOc] >731 俺はAS2しかわかんないから違うことを言うかも知れないけど、例えば mc[i]=this.attachMovie("myMC","mc_"+i,i); としたとき、参照名である mc[i] と、インスタンス名である ["mc_"+i] は 別物だと言うことは理解できるよね? きみはどうも、「オブジェクト名」という言葉に、参照名とインスタンス名の 両方をごっちゃにして意味を当てているように思える。 >731のソースで、変数mcに3回、別の意味を与えているけれど ソレだと最後の1つしか、意味を成さなくないのかな?
735 名前:Now_loading...774KB mailto:sage [2007/10/22(月) 19:03:04 ID:/GsMCeXm] >>731 cs3でもできるcontainer["bt1"].visible=false
736 名前:Now_loading...774KB mailto:sage [2007/10/22(月) 19:52:20 ID:3U1uYhkA] >>731 735のでもいいしgetChildByName使ってもいいし配列に入れてもいいしいろいろ やり方があるよ。個人的にはgetChildByNameを結構使う。
737 名前:729 [2007/10/22(月) 20:00:25 ID:MLLh9Prc] >>732 試してみたのですが… 他にEnterFrameなりTweenなりのアニメーションが 動いている状態で外部読み込みをしたいので、結局1fpsにしてしまうと意味が無いというか… 1fpsの間にファイル読み込みが終わってしまって結局現象の確認もしづらいので。 ちなみに初めは30fpsでやっていました。 読み込むファイルの、描画的負荷が高い方が止まる率が高いように思います…。 サイズの大きいjpgであったり、それを配置してあるswfだったり。 でも、それほどサイズの大きくないjpgでも1瞬カクっとなる事もあり、、 loadMovieではこんな風になった記憶は無かったのですが…
738 名前:Now_loading...774KB mailto:sage [2007/10/22(月) 20:40:00 ID:w//pZjr4] >>737 10°単位なら力技で36フレームに分割するという手もある。
739 名前:Now_loading...774KB mailto:sage [2007/10/22(月) 20:58:59 ID:LM6crXUA] >>737 onLoadProgressで、ループ回してたりとか何か複雑な描画をさせてたりとかはないの? onLoadProgressリスナーを使わなくても、描画が止まるの?
740 名前:729 [2007/10/22(月) 21:28:41 ID:MLLh9Prc] >>738 回転させているMCは確認用に置いてあるだけで…回転しているMCはそれほど重要ではないんです、、申し訳ありません… >>739 以下にソースを書きます。onLoadProgressにはtraceだけ入っていましたがコメントアウトしても変わりませんでした。 var mcLoader:MovieClipLoader = new MovieClipLoader(); var objListener:Object = new Object(); objListener.onLoadStart = function(target_mc:MovieClip){ target_mc._visible = false; } objListener.onLoadProgress = function(target_mc:MovieClip, nLoadedBytes:Number, nTotalBytes:Number){ //trace(Math.floor(nLoadedBytes/nTotalBytes*100)); } objListener.onLoadInit = function(target_mc:MovieClip){ target_mc._visible = true; } mcLoader.addListener(objListener); function loadingStart(){ mcLoader.loadClip("sample.jpg", MCLoader_target); } で、外からloadingStart();を呼ぶと、onLoadInitの部分に来るまでストップしてしまう状態です。 テストで読み込んでいるsample.jpgは1MBちょっとありますが、それほどパフォーマンスに影響が出るサイズとも思えません、、。 というか737でも書いたのですが、処理が止まるタイミングがブラウザによって違うような挙動が見受けられました…。OSはMac OS Xで、 Safari→onLoadInitのtarget_mc._visible = true;のタイミングで1瞬止まる Firefox(最新)→ロード開始〜target_mc._visible = true;の間止まっている これはFlashというよりブラウザのパフォーマンス(かwebエンジン)がFlash Playerの挙動に影響してると考えた方が良いのでしょうか
741 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 00:06:45 ID:bmsGLdDw] >>734-736 ありがとう。 >>734 AS2ならattachMovieでなんとか出来るのは知ってるんだけど、 それをAS3に書き直そうとして混乱してる状態です。 >>735-736 まだAS3は全然馴染めてないので、教えてもらった方法で色々試してみます。
742 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 05:43:55 ID:rIGy1SeP] 連想配列を列挙するにはどうすればいいのか。 this._hash = new Object(); _hashに色々登録 for(var key in this._hash) { } とやっても列挙されない。
743 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 06:41:52 ID:4gII7L/z] var hash:Object = new Object(); hash.s1 = "ABC"; hash.s2 = "DEF"; hash.s3 = "GHI"; for(var key in hash) { trace(key + ":"+hash[key]); }
744 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 06:46:04 ID:rIGy1SeP] _hash[name] と参照したいんだよね。
745 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 06:53:34 ID:4gII7L/z] >>744 列挙って言ってるじゃんw trace(hash["s1"]); あとcじゃないんだから_つけるのやめれ。
746 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 07:47:15 ID:rIGy1SeP] 意味が分からん。 traceしてどうすんだよ。
747 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 09:45:12 ID:kcpsvox1] なんでtraceに目がいっちゃうんだろうね、この子は
748 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 10:15:55 ID:vmkXA1Uz] >>744 >>745 に補足すると、要素名を引用符を付けない形で 指定したい場合は、 _hash.name と記述する。 foo["bar"] と foo.bar は同じ意味。
749 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 11:04:06 ID:rIGy1SeP] name = "bar"; _hash[name] とやりてぇんだよ。 _hash.name はただのプロパティnameじゃねぇか。
750 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 11:19:28 ID:vmkXA1Uz] >>749 そのとおり。じつはASに「連想配列」なんてものはないんだ。 オブジェクトのプロパティを代用しているに過ぎない。 だからそのルールに従ってくれ。
751 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 11:43:52 ID:lvJbSOUs] 3.0ならfor each in使うかdictionaryクラス使えばいいよ
752 名前:731 [2007/10/23(火) 11:51:22 ID:1xuCy3hW] たびたび、すまんけど教えてください。 for (cnt=0; cnt<5; cnt++) { var mc[cnt]:MovieClip = new MovieClip(); } という感じをAS3にするにはどうしたらいいの? mc0〜mc5を作りたいだけなのに…
753 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 13:12:12 ID:lvJbSOUs] >>752 いまいちわからんけど var mc:Array = new Array() for(cnt=0;cnt<5;cnt++){ mc[cnt] = new MovieClip(); addChild(mc[cnt]); mc[cnt].name = "mc" + cnt; } trace(mc[0].name) ってことかな?それとも var _mc:MovieClip for(cnt=0;cnt<5;cnt++){ _mc = new MovieClip() _mc.name="mc"+cnt; addChild(_mc); } trace(getChildByName("mc0").name); ってことかな?
754 名前:731 [2007/10/23(火) 13:28:46 ID:1xuCy3hW] >>753 ありがとう。 最初ので出来ました。 var mc:Array = new Array(); と var mc:Array; の違いがいまいち理解出来てない。
755 名前:Now_loading...774KB [2007/10/23(火) 13:34:15 ID:8DpBRXr5] >>754 変数宣言しているだけか、変数宣言と同時に初期化しているだけの違い。
756 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 13:46:06 ID:4gII7L/z] 初期化でなくインスタンス作成だべ
757 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 17:24:49 ID:SA2GJuLv] //Etude.as package{ import mx.core.*; import mx.containers.*; public class Etude extends Application{ public function Etude(){ addToCreationQueue( new Panel()); }}} これ実行時にエラーになるんですが何ででしょうか?
758 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 17:48:13 ID:4gII7L/z] >>757 エラーメッセージがでるならそれを書く。 出ないなら、自分が期待する状況とどう違うのかを詳しく書く。
759 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 18:39:08 ID:SA2GJuLv] >>758 エラーメッセージが二つでます エラーが出るだけで一応意図した通りの画面にはなってます TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。 at mx.core::UIComponent/getStyle() at mx.core::Container/::isBorderNeeded() at mx.core::Container/mx.core:Container::createBorder() at mx.core::Container/styleChanged() at mx.core::Application/styleChanged() at mx.managers::SystemManager/www.adobe.com/2006/flex/mx/internal::addingChild () at mx.managers::SystemManager/::initializeTopLevelWindow() at mx.managers::SystemManager/::docFrameHandler() TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。 at mx.core::UIComponent/getStyle() at mx.core::Application/mx.core:Application::layoutChrome() at mx.core::Container/mx.core:Container::updateDisplayList() at mx.core::LayoutContainer/mx.core:LayoutContainer::updateDisplayList() at mx.core::Application/mx.core:Application::updateDisplayList() at mx.core::UIComponent/validateDisplayList() at mx.core::Container/validateDisplayList() at mx.managers::LayoutManager/::validateDisplayList() at mx.managers::LayoutManager/::doPhasedInstantiation() at Function/adobe.com/AS3/2006/builtin::apply ()
760 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 18:44:26 ID:SA2GJuLv] ついでに言うとas3です
761 名前:Now_loading...774KB [2007/10/23(火) 19:22:15 ID:VpHSj7ab] AS3.0 動的にライブラリから読み込みたいのですが、どうやるんですか? AS2.0ならこんな感じだったかと var tmpStr:String = "Class"+ event.target.name ; tmpObj = new [tmpStr]; おねがいします。
762 名前:Now_loading...774KB mailto:sage [2007/10/23(火) 19:47:37 ID:rIGy1SeP] var hash = this._hash; for(var key in hash) { trace(key); } どういう理屈か知らんがローカル変数にコピーして回したらできたわ。
763 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 00:03:32 ID:GQiP6Itg] >>759 意図している動作なのなら良いと思うがw >>762 よかったねw
764 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 00:07:39 ID:GQiP6Itg] >>761 AS2.0でそんなことするの初めて見たw 3.0なら普通にnewすればいいんだけどなw まあ、どうせつりだろw
765 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 00:16:45 ID:wpQfbzCf] ローカルのswfをdebugフォルダに入ってるSAFlashPlayer.exeで開くと、 「Flash 8 オーサリングツールはどこで実行されていますか」 っていうダイアログが延々出るんでうざったいです このダイアログってどうやってでないようにすればいいんでしょうか? うまく設定すると出ないようになるらしいんですがどうにもわかりません お願いします
766 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 00:48:03 ID:2VhgWVSn] >>764 そりゃたんにお前がド素人なだけだ
767 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 06:26:59 ID:GQiP6Itg] >>766 そりゃ失礼しました。どうぞ、先生の回答をお願いします。
768 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 06:44:49 ID:GQiP6Itg] >>765 CS3だけど、そんなメッセージ出ないよw
769 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 06:52:05 ID:uRrCiYtD] GQiP6Itgから漂うオーラ
770 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 06:57:02 ID:I9aNxL8h] >>761 getDefinitionByNameかな。こんな感じ。 var str:String = "Hoge" var c:Class = getDefinitionByName(str) as Class addChild(new c())
771 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 06:57:10 ID:GQiP6Itg] >>759 エラーメッセージのままでしょ。実体化されてない、または初期化されていない オブジェクトを参照しようとしたとか。
772 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 07:00:24 ID:GQiP6Itg] >>769 くさくてごめんよっw
773 名前:Now_loading...774KB [2007/10/24(水) 08:07:52 ID:64F7xZqC] イライラ棒のような、コースに触れたらゲームオーバーといった物を作っているのですが 右クリックを禁止にする方法ってありますか? 右クリックをしたら指定したフレームに飛ばすというような やり方があれば教えてください。ちなみにFLASH8を使用しております。
774 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 10:31:39 ID:96cApCeQ] >>773 右クリックじゃなくて、右クリックによって可能になる特定の動作を 無効にしたいんじゃないのか? AS2以前ならStage.showMenuでコンテキストメニューを制御できる。 あとは作り方次第。 うっかり右クリックしただけで特定のフレームに飛ばされたり警告出すような クソ仕様はおすすめしない。
775 名前:752 [2007/10/24(水) 15:29:30 ID:n2r5SaOW] またまた、お世話になります。 >>753 で教えてもらったスクリプトにイベントリスナーをつけたんだけども、 引数の渡し方が良くわかりません。 var mc:Array = new Array() for(cnt=0;cnt<5;cnt++){ mc[cnt] = new MovieClip(); addChild(mc[cnt]); mc[cnt].name = "mc" + cnt; mc[cnt].addEventListener(MouseEvent.CLICK, clickHandler); //ここで[cnt]を渡したい } function clickHandler(event:MouseEvent):void { trace("クリックしたのはmc"+cnt); //何番目のmcをクリックしたか知りたい } かなり初心者的な質問だと思いますがよろしくお願いします。
776 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 15:31:42 ID:Unkk+PUd] >774 いや、「イライラ棒」をやりたいと言っているんだから、 コンテクストメニューを出して、その間に(OSのフォーカスがムービーに当たっていないうちに) ショートカットされるのを防ぎたいと言っているんじゃないかな。 俺は、「イライラ棒スタート!」の時に、ムービーをユーザーにクリックさせる ことで、ムービーがフォーカスされていることを保証した上で、 フォーカスが外れたときに「ズルすんなバーヤ」と割り込めばいいと思う。
777 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 15:36:10 ID:Unkk+PUd] >775 AS3には、MCのイベントにonPress()はないんだろうか。 俺ならMCのイベントで管理する。 そう言えばAS3のイベントは、イベントリスナーをaddする方法に 統一してるんだよねぇ。さぞかし面倒くさかろう。
778 名前:752 [2007/10/24(水) 16:25:33 ID:n2r5SaOW] >>777 残念ながらAS3では、onPress()は使えないです。
779 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 18:13:49 ID:b0Ww0dA7] >>775 cntを渡さなくても、event.targetを参照すればおk
780 名前:Now_loading...774KB mailto:sage [2007/10/24(水) 19:00:07 ID:lYVhsjTE] あ〜 ックスしてぇ、まじでックスしてぇ アスでックスしてぇ
781 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 00:28:17 ID:KgbHXGW/] www.takopus.ru/swf/lcdghost.html ↑のブラーかける前の処理はどうやってるんでしょうか? 透明度下げたコピーを複数配置してるだけ?
782 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 00:35:02 ID:SN5ZQWTW] >>781 おしい。 配置するのではなくビットマップにブレンドする。
783 名前:Now_loading...774KB [2007/10/25(木) 02:34:47 ID:TzFr2+vP] 外部に定義したクラス(たとえばTest.asに記述したclass Test)は 一度読み込むと変更不可? コンストラクタに描いたTraceが消しても出てきてるんですが。 わざと文法間違えてもエラー出ない。
784 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 02:35:48 ID:TzFr2+vP] ちなみにFlashProfessional8です。
785 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 02:53:03 ID:6yVvSMIH] 君に罪悪感がある限り、いくら消しても消えないんだよ
786 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 03:14:51 ID:T6GVh0dz] 質問させて下さい。 フラッシュ(使用ソフトはFLASH MX2004)で単純なゲームを作っているのですが、 敵の出現テーブルを作った後プレビューしたら、敵が一回画面に出たら何回も無限に出てきてしまいます。 これを消す方法は無いのでしょうか?
787 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 03:40:51 ID:whJwIs1L] >786 マルチ禁止 いくつの掲示板に書き込んだか知らないけど、 全部取り下げて、1つだけにしな
788 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 06:12:52 ID:jZxOtniy] >>783 ASOファイルを削除して実行するとか。 まあ、Test.asセーブしないで実行したとかが大だけどね。
789 名前:Now_loading...774KB [2007/10/25(木) 06:16:17 ID:p03kdx1/] 環境)OS:XPSP2 ソフト:Flash 8 もしかして、ライブラリに置いてある MC 等を使用→削除してもメモリは開放されない? デカイ画像を使用しててメモリ使用量がすごい事に… そのライブラリを持つ SWF を loadMovie 等で別の SWF に変えるとメモリが 開放されるんで上記のように思ったんだけど、教えてください。
790 名前:783 mailto:sage [2007/10/25(木) 06:57:53 ID:TzFr2+vP] うーむ。 多分ファイルの更新日時が関係してそうです。 VMで実験してるんですが、ローカル上でやってる限りは問題ないようなので。
791 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 07:03:57 ID:jZxOtniy] >>790 ブラウザのキャッシュクリアしてみ。
792 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 09:16:54 ID:okiGzzI4] >>789 何を教えればいいのか俺には分からないんだが 変に重くなったりしない限りはそういうもんなので心配しないで大丈夫
793 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 09:27:10 ID:a7tUtpms] テキストボックスに入力したものをボタンを押すと 他のテキストボックスに入力される っていうASってある? あれば教えていただきたい
794 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 10:46:06 ID:7B7qaW8b] >>782 dクス
795 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 12:01:44 ID:TzFr2+vP] MovieClipの_widthを設定すると表示されなくなってしまうんですが、 これは仕様ですか? LoadMovieの後です。 _xとか_yは設定してもちゃんと反映されて表示するんですが。
796 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 12:44:32 ID:T6GVh0dz] >>787 すいません。カキコしたのはこことflash質問スレのみです。 flash質問スレの質問取り下げてきます。
797 名前:775 mailto:sage [2007/10/25(木) 14:18:39 ID:DzABpMvh] >>779 ありがとう。 ちょっと思ったのと挙動が違うのですが、(MC上のobjectが参照されてしまうので)なんとなく理解できました。 も少し試行錯誤してみます。 >>795 AS3の.widthなら普通に反映されましたよ。
798 名前:Now_loading...774KB [2007/10/25(木) 17:25:51 ID:1wgJvXC7] mcの中にloadMovieしたswfに含まれるmcをアクセスする方法が分かりません。 まず、_rootに配置したmc「aaa」の中に配置したmc「bbb」にアクセスするには _root.aaa.bbb と記述すればオケ。 _rootに配置したmc「aaa」の中に読み込んだ外部swf「bbb.swf」の中にあるmc「ccc」にアクセスするにはターゲットパスはどう記述すればいいのでしょう。 通常通り _root.aaa.ccc と記述しても、上手く動いてくれません。 _nameをtraceしようとしてもundifinedと言われて困ってしまっています。 誰かヘルププリーズ。
799 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 17:35:04 ID:1wgJvXC7] >>798 >mcの中にloadMovieしたswfに含まれるmcをアクセスする方法が分かりません。 mcにアクセスする方法が分かりません。
800 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 17:49:00 ID:eGg7yBOp] >>798 MovieClipLoder.loadClipとonLoadInitでヘルプれ
801 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 18:59:45 ID:TzFr2+vP] 矩形ツールで四角を描いて、それをムービークリップとリンケージを適応し、 それをダブルクリックして編集状態にすると、矩形が出てきますが、 編集でのAlpha値はいじれるんですが、ActionScript上からいじる方法が見つかりません。 this._alphaだと上に置いたムービークリップも消えてしまうので、 シェイプ(?)のみにAlpha値を適応したいんですが、何か方法はあるんでしょうか?
802 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 19:01:47 ID:whJwIs1L] >801 アルファ弄りたい部分だけMCにする
803 名前:Now_loading...774KB mailto:sage [2007/10/25(木) 23:03:09 ID:iHmsOFFX] 質問です。 actionscript内部で、動的に wmode を設定することは可能なのでしょうか? "transparent" と "設定無し" を、必要に応じて切り替えたいのです。 どなたかご教授下さいませ。
804 名前:Now_loading...774KB mailto:sage [2007/10/26(金) 01:48:27 ID:ox21ABYY] >>803 後ろに目隠し用の長方形を置いといて出したり消したりするんじゃダメなの?
805 名前:Now_loading...774KB mailto:sage [2007/10/26(金) 02:04:02 ID:j5u9foMZ] >>804 アドバイス有難うございます。 今回は、Firefoxでコンテキストメニューを利用するタイミングで"設定無し"にして、 swfの上に画像を重ねて表示するタイミングで"transparent"にしたいのです。 そもそも、WindowsのFirefoxでwmode="transparent"な状態で、 コンテキストメニューを利用することが出来れば万事解決なのですが・・
806 名前:Now_loading...774KB mailto:sage [2007/10/26(金) 06:48:36 ID:qTQMF/kN] >>798 ローディング完了する前にtraceしてるから出ないのでは? ↓みたくクリックで表示すりゃでるんじゃないかな。 onMouseUp = function(){ trace("ローディングしたMCのプロパティ"); }
807 名前:Now_loading...774KB [2007/10/26(金) 12:14:16 ID:/rQqTkUm] LoadVarsを継承したクラスを作ったんですが、 var setting:Setting = new Setting(); とやってもコンストラクタが呼ばれません。 なぜ? class Setting extends LoadVars { function Setting() { trace("!"); } }
808 名前:Now_loading...774KB mailto:sage [2007/10/26(金) 12:20:35 ID:qTQMF/kN] >>807 セーブしてないとか、パスが通ってないとかだろ。 普通に出るよ。
809 名前:Now_loading...774KB mailto:sage [2007/10/26(金) 12:29:30 ID:/rQqTkUm] >>808 そのとおりでした。
810 名前:Now_loading...774KB [2007/10/26(金) 16:40:10 ID:QdzB5lke] 初歩的な質問かもしれませんがAS3.0でわからないことがあります。 var MCArray:Array = new Array(); var MC:MCClass; function A { var i:Number = 0; for ( i ; i< 10 ; i++ ){ MC = new MCClass(); addChild( MC ); MCArray.push( MC ); } } function B { var i:Number = 0; for ( i ; i< 4 ; i++ ){ removeChild ( this[MCArray[i]] ); } } こんな感じで、10個MCを作り、あとで配列に登録されているMCを消そうと思ったのですが、 「main にプロパティ [object MCClass] が見つからず、デフォルト値もありません。」 というエラーがでます。 配列で、MCの管理のしかたをおしえてください!!
811 名前:Now_loading...774KB mailto:sage [2007/10/26(金) 16:45:51 ID:ZZOKQYYB] removeChild (MCArray[i] ); 試してないけどこうか?
812 名前:Now_loading...774KB [2007/10/26(金) 17:08:22 ID:QdzB5lke] >811 成功したけど、こんなエラーが出る 「指定した DisplayObject は呼び出し元の子でなければなりません。」 。。。 違うところを間違えてるのかな
813 名前:Now_loading...774KB [2007/10/26(金) 17:13:47 ID:QdzB5lke] あ、すまん、 全然違うところ間違えてた すまんかった。
814 名前:Now_loading...774KB mailto:sage [2007/10/27(土) 02:06:11 ID:2EAWWJ7o] vistaでtrace関数が動作してる人っていますか? debugplayerインストールして環境変数HOMEDRIVE,HOMEPATHをきちんと設定して、mm.cfgも置いてるんですが なんにもログを吐き出してくれません… 困ったー
815 名前:Now_loading...774KB mailto:sage [2007/10/27(土) 02:27:08 ID:USNFYVrk] してるよ。お前の設定がウンコなだけだろ。
816 名前:Now_loading...774KB mailto:sage [2007/10/27(土) 10:29:43 ID:uty+q7Nf] どういう名前の技術だったかわすれましたが var _this = this; myVars.onLoad = function (bSuccess) { if ( bSuccess ) { _this.ary = new Array(); _this.ary['test'] = "hoge"; _this.test = "hoge"; } } こんな感じの処理ってできないんすかね? 関数は呼べてるんだけど、変数への値の格納が出来なくてundefinedになる。
817 名前:Now_loading...774KB mailto:sage [2007/10/27(土) 10:52:28 ID:5OdwBMgR] >>816 何のためにbSuccessをif文で判定してるんだよw
818 名前:Now_loading...774KB [2007/10/27(土) 11:48:30 ID:P8dJTKxJ] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) MC内のテキストフィールドの背景色で質問です。 デジタル時計内の数字が指定した数字になったとき、時報として数字(青色)の背景が オレンジ色に変わるようにしたいのですが変わりません。 例えば、12時になったとき _root.setTimeF = true; として onClipEvent(enterFrame) で if (_root.setTimeF == true) { trace(" Path= "+_root.clockM.ji_ins); //パス確認用 _root.clockM.ji_ins.backgroundColor = 0xFF6600; //root内のclockMのji_insの背景をオレンジに } と書いてたところ、12時にはif内のtraceは実行されますが、背景は白のままです。 考えられる原因は何でしょうか? パスは正しくつながっているようですが。。。。
819 名前:Now_loading...774KB mailto:sage [2007/10/27(土) 11:57:45 ID:5OdwBMgR] background = true;
820 名前:Now_loading...774KB mailto:sage [2007/10/27(土) 12:05:15 ID:P8dJTKxJ] >>819 ありがとう
821 名前:Now_loading...774KB mailto:sage [2007/10/27(土) 12:21:38 ID:6rLIjjih] プルダウンメニューやチェックボックスをASで生成できる?
822 名前:Now_loading...774KB mailto:sage [2007/10/27(土) 12:47:57 ID:w5TP6DGc] >>821 できる
823 名前:821 mailto:sage [2007/10/27(土) 19:18:17 ID:6rLIjjih] ごめん、やり方が分からないんだ…
824 名前:Now_loading...774KB mailto:sage [2007/10/27(土) 19:21:52 ID:5OdwBMgR] >>823 そうかい。日記は自分のBlogに書けよ。
825 名前:Now_loading...774KB mailto:sage [2007/10/27(土) 20:47:43 ID:I8lQaoZK] 質問です。 flash8で、 ここのサイトのように (ttp://www2.nissan.co.jp/OTTI/H92/0610/STYLE/main1.html) スクロールして画面が切り替わるようなものを作りたいです。 次がフェードインしながら切り替わって、 その画面のムービークリップ(又は外部swf)が再生される、といった流れです。 戻った時もムービークリップ(又は外部swf)が最初から再生されるようにしたいのですが、 このようなサンプルがある情報サイトなど、どなたかご存知でしょうか。 すみません、あまりAction Scriptに詳しくないので ご助力の程よろしくお願いいたします。
826 名前:Now_loading...774KB mailto:sage [2007/10/27(土) 21:32:33 ID:rPnQTKdU] >821 まず、質問スレッドで「出来る?」って聞き方はやめろ。 たとええ自明であっても、「できるかどうか」の質問と見なされるから >822や>824みたいな意地悪をされても、きみが悪いことになる。 >824 でも、いくらそうだとしても、質問スレで「できる?」ってのは 「やり方教えてくれ」の意味だってことくらいいちいち言わなくても分かれよ。 諭した上で応えてやれ。わかんなかったらそれこそこそ自分のブログで毒でも吐いてろ。 助けを求めて伸ばした手に小便かけて楽しいか? さて、>821への解答。UIObjectクラスを使う。 あらかじめ、プルダウンメニュー(コンボボックス)やチェックボックスを ライブラリに入れておくこと。 プルダウンメニュー(コンボボックス)…… createClassObject(mx.controls.ComboBox,"インスタンス名",深度) チェックボックス…… createClassObject(mx.controls.CheckBox,"インスタンス名",深度) 深度は数字で指定すること。 作成したら、インスタンス名で、任意のメソッドなりプロパティなり定義すれ。 (各々のやり方は、ヘルプを見た方が早いからそっち見れ)
827 名前:Now_loading...774KB mailto:sage [2007/10/27(土) 21:46:46 ID:nhSLsmaS] うぜえな
828 名前:Now_loading...774KB mailto:sage [2007/10/27(土) 21:58:22 ID:2bJ+7WCC] >>825 適当にサンプル作ったから、あとは適当に理解してくれ var page = 0; leftButton.onRelease = function() { page--; slideAction(); } rightButton.onRelease = function() { page++; slideAction(); } function slideAction() { var targetX = -page * 720; var x = contentMC._x; var dx = ( targetX > x ) ? 20 : -20; this.onEnterFrame = function() { x += dx; if ( Math.abs( x - targetX ) < 20 ) { x = targetX; delete this.onEnterFrame; } contentMC._x = x; } }
829 名前:Now_loading...774KB mailto:sage [2007/10/27(土) 22:00:15 ID:7RhKx9wu] 826は煽り
830 名前:Now_loading...774KB mailto:sage [2007/10/28(日) 02:09:02 ID:ZY1/X5OH] >>826 確かに君の言っている事は正論だが、ここは2ちゃんなので821が全部悪い。以上。
831 名前:Now_loading...774KB mailto:sage [2007/10/28(日) 03:24:59 ID:WTcBVQTq] >>>826 >確かに君の言っている事は正論だが、ここは2ちゃんなので821が全部悪い。以上。 キモ過ぎ
832 名前:821 mailto:sage [2007/10/28(日) 03:31:51 ID:c6SSyPco] いやーーーーー、私のために喧嘩しないでっ!!><
833 名前:Now_loading...774KB mailto:sage [2007/10/28(日) 06:42:39 ID:dtCmVtfr] >>826 回答だけ提示しろよw おまいが一番読めてないw
834 名前:Now_loading...774KB mailto:sage [2007/10/28(日) 09:53:25 ID:rjyaoXXD] まあ、これでも見て落ち着けよw vista.crap.jp/img/vi9353267243.jpg
835 名前:Now_loading...774KB mailto:sage [2007/10/28(日) 11:02:19 ID:YPc6n8ko] ガンバ懐かしい
836 名前:Now_loading...774KB mailto:sage [2007/10/28(日) 11:28:00 ID:psm+XskH] 日経予想スレを思い出す絵だな
837 名前:Now_loading...774KB mailto:sage [2007/10/28(日) 11:47:31 ID:lUPeAHBd] ライブチャットのようなシステムを作りたいのですが、 最短で学ぶための覚えるべきことをいくつか挙げてください。 お願いします。
838 名前:Now_loading...774KB mailto:sage [2007/10/28(日) 11:51:09 ID:YPc6n8ko] >>837 「自分で調べる」 これにつきる
839 名前:837 mailto:sage [2007/10/28(日) 12:09:41 ID:lUPeAHBd] >>838 現在、Fles2SDK + ActionScript + それようの鯖 までわかったのですが、レールはそれてないでしょうか?
840 名前:Now_loading...774KB mailto:sage [2007/10/28(日) 13:54:44 ID:iK4x5l4L] >>839 まずはFlash Media Serverを買え あとは知らないから自分でがんばれ
841 名前:837 mailto:sage [2007/10/28(日) 14:12:12 ID:lUPeAHBd] >>840 それに代わるフリーの物があるようです。 しかし、Webカメラ接続あたりのソースがまったく見つからなかったりと 予定していた一週間では作れそうにないので、おとなしくシステム買い取ります。 もし作れる方がおられましたら、金額提示してください。 ありがとうございました。
842 名前:Now_loading...774KB mailto:sage [2007/10/28(日) 16:18:43 ID:WHI3Jum8] >>841 亀レスだけど ・RED5 Server ・続FlashActionScriptバイブル あたりでも調べてみれ。
843 名前:Now_loading...774KB mailto:sage [2007/10/28(日) 17:03:53 ID:MG2mk1Cp] つか、調べてんなら質問する間にそういうのも書き込めよ なに、回りくどい質問の仕方しやがって
844 名前:Now_loading...774KB mailto:sage [2007/10/28(日) 18:50:05 ID:qj0S80ZQ] >>826 すいません。Flashの使い方を1から10まで教えてください。 もちろん無料で。 とか言われたらムカつくだろ。
845 名前:Now_loading...774KB mailto:sage [2007/10/29(月) 08:56:19 ID:XKEkGmDx] var topMenu = new ContextMenu(); topMenu.hideBuiltInItems(); topMenu.builtInItems.quality = true; topMenu.customItems.push(new ContextMenuItem("Noise", this.onSelect)); topMenu.customItems.push(new ContextMenuItem("PerlinNoise", this.onSelect)); this.menu = topMenu; ビルトインメニューの変更はできるがカスタムメニューの表示がされない。 もうこれバグなんじゃねーの
846 名前:Now_loading...774KB mailto:sage [2007/10/29(月) 09:29:20 ID:G2yEOS7J] >>845 どうせ、function onSelect(){}作ってねーとかだろw
847 名前:Now_loading...774KB mailto:sage [2007/10/29(月) 09:53:48 ID:xtK4/3Kg] FLASHでバナーを作成するのですが、そのリンクのジャンプ先が定期的に変わります。 getURLでFLASH内でスクリプトとして書いてしまうと、リンク先が変更するたびに.flaデータを修正することになりますよね。 これを、クライアント側で不定期に修正可能なように、外部テキスト(xml)として用意したいのです。 リンク先を外部読み込みにするようなスクリプトを書きたいのですが、よくわかりません。。 方法もしくは参考サイト等をご存知の方がいらっしゃいましたら、教えて頂けないでしょうか。 初歩的な質問で申し訳ありませんが、どうぞよろしくお願いいたします
848 名前:789 [2007/10/29(月) 09:58:17 ID:otg4St3W] >>792 返事が遅くなって申し訳ない // ここからフレーム スクリプト var ids:Array = new Array(); ids.push("MC00"); 〜 ids.push("MC99"); var mc:MovieClip = null; var cnt:Number = 0; var listener:Object = new Object(); listener.onKeyUp = function(){ if (Key.getCode() == 90){ if (mc != null){ mc.removeMovieClip(); mc = null; } mc = _root.attachMovie(ids[cnt], ids[cnt].toLowerCase(), _root.getNextHighestDepth()); cnt++; if (cnt == 100){ cnt = 0; } } } Key.addListener(listener); // ここまで 画像等をメモリに展開してるから表示するとメモリ使用量が増えるのは分かるけど、 MCを削除したのに前の状態に戻らないのが何故なのかがわからない
849 名前:Now_loading...774KB mailto:sage [2007/10/29(月) 10:15:48 ID:G2yEOS7J] >>847 ヘルプを検索すればサンプルコードあるし、ググればいくらでも参考サイト出てくる。 >>848 メモリ解放はGCが行います。いつ行われるかはわかりません。
850 名前:789 mailto:sage [2007/10/29(月) 10:39:59 ID:otg4St3W] >>849 > メモリ解放はGCが行います。いつ行われるかはわかりません。 それは知ってるんだけど、メモリ使用量が400MBを超えても GCが起動しないのは変だなぁと思って。 ちなみにAS3では 1.新しくメモリの割り当てが要求された 2.空いているブロックの残りが少ない の条件でGCが起動するらしい↓ weblogs.macromedia.com/akamijo/archives/2007/05/flash_player_9_7.cfm AS2では上記の条件は当てはまらないけれど…(っていうかAS2での条件が知りたい)
851 名前:789 mailto:sage [2007/10/29(月) 11:17:01 ID:otg4St3W] ちょっと質問がずれたので修正 MCを attachMovie して作成後 removeMovieClip でMCを削除後→GCが起動した(と仮定)場合、 増えたメモリ使用量分減るのか?ということが知りたい。 自分でサンプル(>>848 )作って試した場合減らなかったので。
852 名前:Now_loading...774KB mailto:sage [2007/10/29(月) 13:55:31 ID:36s2B32s] >>851 849のサイトを読めば分かる
853 名前:Now_loading...774KB mailto:sage [2007/10/29(月) 16:35:01 ID:/zyyAfPu] >>850 どっかに参照残したままにしてんじゃね?
854 名前:789 mailto:sage [2007/10/29(月) 17:20:20 ID:otg4St3W] >>853 > どっかに参照残したままにしてんじゃね? うーん…スクリプトは >>848 だけなんですけどね もう今日はこれの検証をずっとやって疲れた… 検証して思ったけど、画像分のメモリ使用量だけ解放されないっぽい Flash がそういう作りになってるとしか思えない それならそれで構わないけど、そうであるというソースが欲しいw
855 名前:Now_loading...774KB mailto:sage [2007/10/29(月) 19:20:14 ID:YgzI3nrd] >>854 BitmapDataなら明示的にdispose()しないと開放されないけど、それはちがう?
856 名前:Now_loading...774KB mailto:sage [2007/10/29(月) 20:45:44 ID:1nvXQReF] 質問です。 FLASHの操作で、ライブラリからシンボルをドラッグ&ドロップして ステージに配置するようなものを、 まんまFLASHで作りたいのですが、どうにもこうにもできません。 ステージ上でない途中の所で指を離してしまうと キャンセルと見なして元の場所に戻るようにもしたいです。 ただドラッグ&ドロップで移動させるのではなく、複製するというか、 アイコンを操作するあの感じにしたいのです。 わかりにくい質問ですみません。 何か解法がありましたら教えてください。 MAC]でソフトはFLASH8です。
857 名前:Now_loading...774KB mailto:sage [2007/10/29(月) 20:55:14 ID:1G8Tdd+A] >>856 startDrag でググる。
858 名前:Now_loading...774KB mailto:sage [2007/10/30(火) 00:47:38 ID:C89C5gsB] 質問です。 環境:WinXP CS3 やりたいことというかアドバイスしていただきたい事 「プレビューではしっかりと読み込まれて表示されるのにパブリッシュ後のファイルは、読み込まれる物と読み込まれないものが発生します。 回避方法等原因のアドバイスをいただけますでしょうか? やっていることは メインで複数の外部SWFをバイトで読み込み、配列に格納 MovieClipを継承した自作クラスを8個生成してメインに配置。 自作クラスのコンストラクタは、メインで読み込んだ外部SWFの配列からSWFをLoaderでコピーしてクラス内の配列(SWFとして)に格納 読み込み終了後、配列からランダムでSWFを選び、再生 といった感じのプロセスです。 プレビューですと、全てのクラスで正常に読み込みが終わり再生されるのですが、パブリッシュですと再生されない物ができてしまします(全て読み込まれるときも在りますが、ほとんどの場合1,2つ再生されずに止まっています) 途中までは読み込まれているようですが、それ以降エラー等をはかずに止まっている(私が見つけられていないだけかもしれませんが) これは、クラスを同時に作成して、そのまま読み込みをやっているため発生してしまう問題なのでしょうか? やはり一つづつクラス作成→読み込み終了→次のクラス作成 といった手順を踏む方がいいのでしょうか? アドバイスをよろしくお願いいたします。
859 名前:Now_loading...774KB mailto:sage [2007/10/30(火) 00:49:38 ID:ssZpqJVt] そもそもドメインは同じ?
860 名前:858 mailto:sage [2007/10/30(火) 00:57:06 ID:C89C5gsB] とりあえず ローカル内で動かしているので多分大丈夫だと思います。
861 名前:Now_loading...774KB mailto:sage [2007/10/30(火) 01:01:55 ID:CkvGGeq+] >>858 読み込み終了のイベントは何使ってる? 読み込み完了後、1フレーム目の実行(初期化)が完了しないと 命令を受け付けないよ。
862 名前:858 mailto:sage [2007/10/30(火) 01:12:14 ID:C89C5gsB] >861 contentLoaderInfoのEvent.COMPLETEを使ってます。 メインの配列全てをcopyして使いたかったので、 function completeHandler(evt:Event):void { クラス内のSWFとして格納する配列[b]=loader.contentLoaderInfo.content; if(クラス内のSWFとして格納する配列.length<メインのバイトデータが入った配列.length){ try{ i++; loader.loadBytes(メインのバイトデータが入った配列[i]); }catch(e:Error){ trace("Error"); }else{ trace("ALL Load"); SWF再生処理 } } といった感じです。
863 名前:858 mailto:sage [2007/10/30(火) 01:14:09 ID:C89C5gsB] 訂正:クラス内のSWFとして格納する配列[b]=loader.contentLoaderInfo.content; →クラス内のSWFとして格納する配列[i]=loader.contentLoaderInfo.content; ですorz
864 名前:Now_loading...774KB mailto:sage [2007/10/30(火) 07:42:49 ID:lNu/bZaa] >>862 各swfを読み込んだかどうかのflg=0の配列を用意。 それぞれのCOMPLETEで該当flgを1に。 メインではtimer使ってその配列をチェックし、 全部1なら次処理に移行するとか、ボタン有効するとかに。
865 名前:Now_loading...774KB mailto:sage [2007/10/30(火) 09:11:23 ID:zKzoaZLG] 読み込んだswfのサウンドについて質問があります。 以下のように、外部swfを読み込み、用が終わりremoveした後も 読み込んだswfのサウンドが流れてしまいます。以下ソース ************************************************************************* // ローダーオブジェクトを作成し配置 var loader_obj : Loader = new Loader(); this.addChild (loader_obj); // ローダーインフォを取得 var info : LoaderInfo = loader_obj.contentLoaderInfo; //ボタンクリックで削除 function deleteObj(){ info.removeEventListener(Event.OPEN,LoaderInfoOpenFunc); info.removeEventListener(ProgressEvent.PROGRESS,LoaderInfoProgressFunc); info.removeEventListener(Event.INIT,LoaderInfoInitFunc); info.removeEventListener(Event.COMPLETE,LoaderInfoCompleteFunc); info.removeEventListener(IOErrorEvent.IO_ERROR,LoaderInfoIOErrorFunc); this.removeChild(loader_obj); info = null; loader_obj = null; } ************************************************************************* 対策方法をご存知の方、ご教示頂けないでしょうか? つたない文で、申し訳ありませんが、よろしくお願いいたします。
866 名前:Now_loading...774KB mailto:sage [2007/10/30(火) 13:23:15 ID:hFAHlylr] AS2しか理解できない厨房でも読めるOOP解説した本ってないですか? JAVAで解説されても分からん。
867 名前:Now_loading...774KB mailto:sage [2007/10/30(火) 14:02:03 ID:LKu7ySAf] >>866 FLASH OOP
868 名前:Now_loading...774KB mailto:sage [2007/10/30(火) 20:20:37 ID:0+kTDyJy] 1.38777878078145e-16って何?
869 名前:Now_loading...774KB mailto:sage [2007/10/30(火) 20:26:52 ID:mTjvJPix] >>868 0.000000000000000138777878078145のこと。 ここで聞くな。
870 名前:Now_loading...774KB mailto:sage [2007/10/31(水) 02:29:23 ID:23/PKNiq] var request:URLRequest = new URLRequest("introMovie.swf"); var loader:Loader = new Loader(); (中略) loader.load(request); addChild(loader); という感じで外部SWFを読み込んで配置したいのですが、0,0の位置じゃなく、上から200pxのセンターの位置に配置したい場合はどのように記述すればいいでしょうか? よろしくお願いいたします。
871 名前:Now_loading...774KB mailto:sage [2007/10/31(水) 02:48:14 ID:qCjPV/N4] loader.y=200;
872 名前:Now_loading...774KB mailto:sage [2007/10/31(水) 07:29:01 ID:3W/9t0ol] >>865 Loader.unload()でヘルプを検索。先に子のsoundを停止する。
873 名前:Now_loading...774KB mailto:sage [2007/10/31(水) 09:26:50 ID:U/MvHL3p] >>872 ありがとうございました。 解決いたしました。
874 名前:Now_loading...774KB mailto:sage [2007/10/31(水) 12:19:33 ID:23/PKNiq] >>871 ありがとうございます!
875 名前:Now_loading...774KB mailto:sage [2007/10/31(水) 13:48:48 ID:TMViN7IU] >>867 これってOOPを一から理解するには良書じゃないって言われたんだけどどう?
876 名前:Now_loading...774KB mailto:sage [2007/10/31(水) 15:46:43 ID:ICmQjwRF] rascut便利すぎワロス 普段使わないRuby入れたりと導入が面倒くさかったけど
877 名前:Now_loading...774KB [2007/10/31(水) 20:13:12 ID:qoeOHWh/] 一定時間たつと消えてしまうのをなんとかしたいのです。 ある空のMCの1フレーム目に loadMovie("aaa.swf",this); と外部swfを読み込んで表示させています。 しかし、このswfが5分くらい?たつと消えてしまいます。 この外部swfは 単なるアニメーションで最終フレームには stopを書いているのですが… もうひとつloadMovieで読み込んでいる所は問題なく ずっと表示されるのですが、なぜ消えるのかわかりません。 初心者の質問で見当違いでしたら申し訳ないですが どなたかお答えいただければ幸いです。
878 名前:Now_loading...774KB mailto:sage [2007/10/31(水) 21:30:30 ID:cfUSy/NY] 質問があります、 www.nutrigloss.jp/special/ の画面右側で動いているblogパーツをクリックすると、 画面外に飛び出すような動きをするのですが、 これってどう作っているんでしょうか? javascriptでウインドウを作って、 そこで新規swfを再生って感じでしょうか? 作り方を解説しているようなサイトが有れば、 ぜひ教えて下さい先輩方・・・
879 名前:level0 [2007/10/31(水) 21:41:53 ID:UKE8dAE5] 先生方、質問です。 出力エラーで、 **エラー** シンボル = Symbol 14, レイヤー = actions, フレーム = 5 :行 16:')' または ',' が必要です。 duplicateMovieClip('move', 'move' add mc, mc); **エラー** シンボル = Symbol 14, レイヤー = actions, フレーム = 5 :行 17:')' または ',' が必要です。 setPropert("move" add mc, _x, 230+Number(x*4)); ActionScript エラー数 :2 報告済みエラー :2 と、出ます。 この場所に行きどのように修正すればよろしいでしょうか。 すみませんが、よろしくお願いします。
880 名前:Now_loading...774KB mailto:sage [2007/10/31(水) 22:02:52 ID:XBREvtF8] >>879 >**エラー** シンボル = Symbol 14, レイヤー = actions, フレーム = 5 :行 16:')' または ',' が必要です。 >duplicateMovieClip('move', 'move' add mc, mc); >**エラー** シンボル = Symbol 14, レイヤー = actions, フレーム = 5 :行 17:')' または ',' が必要です。 >setPropert("move" add mc, _x, 230+Number(x*4)); Flash 5以降のActionScriptの文法を学ばれた方がよいように思われます。 Flash Player 7以前でパブリッシュすれば、エラーは生じません。 Flash 8オンラインヘルプ[ActionScript 2.0リファレンスガイド] > [使用されなくなったActionScript] > [使用されなくなった演算子の一覧]より引用: add Flash Player5以降では、使用しないでください。 Flash Player 5以降では、コンテンツの作成時に加算(+)演算子を使用することをお勧めします。 この演算子は Flash Player 8以降ではサポートされていません。 あと、setPropertyな
881 名前:Now_loading...774KB mailto:sage [2007/10/31(水) 23:05:11 ID:RTx7Bp3x] 質問です。 操作対象の絵をカーソルキーの上下左右入力ごとに変えるにはどうすればいいでしょうか? どうか教えて下さいませ。
882 名前:Now_loading...774KB [2007/10/31(水) 23:55:20 ID:haYjhWhN] >>881 具体的に書いてくれ
883 名前:Now_loading...774KB [2007/11/01(木) 00:00:37 ID:8H07fvkb] 私も質問で悪いのですが、 現在AS3.0を勉強中なんですが、どうしてもテキストフィールドにフォーカスをスクリプトから当てる事ができません。 具体的には ドキュメントクラス→テキストクラス→テキストフィールド ↑これ テキストクラスに mytext_field.setFocus(); と書いたら [1061: 未定義である可能性のあるメソッド setFocus を、静的型 flash.text:TextField の参照を使用して呼び出しました。] ってな感じのエラー MovieClip( mytext_field ).setFocus(); って書いたら 強制変換に失敗。。。 setFocus("mytext_field"); って書いたら [1180: 未定義である可能性が高いメソッド setFocus の呼び出しです。] どうしたらいいんでしょうか?
884 名前:level0 [2007/11/01(木) 00:03:57 ID:rnZVY++G] >>880 先生 ありがとうございます。 勉強になります。
885 名前:Now_loading...774KB [2007/11/01(木) 00:05:08 ID:8H07fvkb] 質問だけでは失礼なので、ちょっと消化します。 >>881 一番、簡単な方法は 操作対象の絵のムービークリップを4つのフレームに分ける 一つずつフレームに名前をつけてあげて(例えば、上下右左) その対象の絵のムービークリップのフレームアクションに それぞれの分岐(スイッチ使ったららくじゃね)を書いてあげる これでOKじゃね?
886 名前:Now_loading...774KB mailto:sage [2007/11/01(木) 00:05:10 ID:xLqukwEE] AS3.0のコンポーネントのデータグリッドで選択したもの値を取得するにはどうすればいいでしょうか。
887 名前:Now_loading...774KB mailto:sage [2007/11/01(木) 00:05:59 ID:Ei/ODTzl] >>883 stage.focus = mytext_field;
888 名前:Now_loading...774KB [2007/11/01(木) 00:07:52 ID:8H07fvkb] >>885 ちょっとわかりにくかったので ↓(ここに操作系のアクションスクリプト) ルート → 対象の絵 ↑(このムービークリップをフレームで分けてあげる)
889 名前:Now_loading...774KB [2007/11/01(木) 00:08:42 ID:8H07fvkb] >>887 おお!! ありがとうございます!!! こんなので5時間も悩んでいたのか。。。。
890 名前:Now_loading...774KB [2007/11/01(木) 00:17:08 ID:8H07fvkb] >>886 こんな感じじゃないですか? myDataGrid.addEventListener( DataGridEvent.ITEM_FOCUS_IN , ファンクション);
891 名前:Now_loading...774KB [2007/11/01(木) 00:27:27 ID:8H07fvkb] あ、まちがえたっぽい なんかお世話になったので、どぞ import fl.controls.List; import fl.data.DataProvider; import fl.events.DataGridEvent; var dp:DataProvider = new DataProvider(); dp.addItem({label:"Item 1"}); dp.addItem({label:"Item 2"}); dp.addItem({label:"Item 3"}); myDataGrid.dataProvider = dp; myDataGrid.addEventListener( Event.CHANGE , ファンクション); function ファンクション(event:Event){ trace( event.target.selectedItem.label ) }
892 名前:Now_loading...774KB [2007/11/01(木) 00:34:19 ID:8H07fvkb] >>878 どれかわからないので、再現できなかったです。 IEですか?
893 名前:Now_loading...774KB [2007/11/01(木) 00:38:43 ID:8H07fvkb] >>877 空のMCは親の最後のフレームまでいますか? > 単なるアニメーションで最終フレームには > stopを書いているのですが… 読み込まれるSWFでは基本的にthisとかrootとかをつけてあげましょう 877さんの場合だと this.stop(); が一番良い書き方
894 名前:Now_loading...774KB [2007/11/01(木) 11:07:37 ID:uRVEbumC] ニコニコ動画のようなタイプのアプリケーションを考えています。 それで、ニコニコはXMLでコメントと再生位置をセットで1つのノードに保持するというデータ構造を持っていますが、 この方式では、いくらがんばっても、ニコニコのように高速な処理が望めません。 はじめ、毎回ノードを取り出して、ifで該当時間のデータを、毎ミリ秒取り出すようにしてたんですが あまりにも遅いので、予めノードのデータをArrayに取り出して、連想配列のキーに該当時間を入れる事で高速化を図ったのですが やっぱり遅いです。 何かいい方法はありませんでしょうか? 他の処理をXML形式にあわせてしまったので、今のデータ構造そのものは変えたくありません。 開発環境は、Flex Builder2(AS3)です。 よろしくお願いします。
895 名前:Now_loading...774KB mailto:sage [2007/11/01(木) 12:17:30 ID:Uhewvu26] >>894 何万行のデータ解析しようとしてるか分からないけど、XML以外のところに問題があるとおもわれ
896 名前:Now_loading...774KB mailto:sage [2007/11/01(木) 13:49:30 ID:4aE+uTMC] >>878 こういうのはJavascript使わないと無理だと思う Wndowsを作るというより、CSSで全画面になるようなDivなり追加するようにして、その中でSWF再生とか 閉じるときは同じようにJavascriptで消す
897 名前:Now_loading...774KB mailto:sage [2007/11/01(木) 14:44:36 ID:KKtMBgTu] >>894 うまくいかないソース提示しろ。話はそれからだ。
898 名前:Now_loading...774KB mailto:sage [2007/11/01(木) 21:54:47 ID:CmaTTNfH] >>888 サンクスです。 試してみます。
899 名前:Now_loading...774KB [2007/11/02(金) 01:38:55 ID:qoH1//+J] dataXML=new XML(); dataXML.ignoreWhite=true; dataXML.load("data.xml"); dataXML.onLoad=function(){ init(); } function init(){ //itemの総数 itemNum=dataXML.childNodes.length; for(i=0;i<itemNum;i++){ //item内のノードの総数 childNum=dataXML.childNodes[i].childNodes.length; for(c=0;c<childNum;c++){ //name、urlの値を取得 obj[i+c*childNum]=dataXML.childNodes[i].childNodes[c].firstChild } } } trace(obj) で、関数init外でtraceするとobjの中身が空になるんですがなぜでしょう? objを受け取るためにはどうしたらいいんでしょう?
900 名前:899 mailto:sage [2007/11/02(金) 01:42:26 ID:qoH1//+J] 修正します。 >関数の外でobjを受け取るためにはどうしたらいいんでしょう? dataXML=new XML(); dataXML.ignoreWhite=true; dataXML.load("data.xml"); dataXML.onLoad=function(){ init(); } obj=new Array; function init(){ //itemの総数 itemNum=dataXML.childNodes.length; for(i=0;i<itemNum;i++){ //item内のノードの総数 childNum=dataXML.childNodes[i].childNodes.length; for(c=0;c<childNum;c++){ //name、urlの値を取得 obj[i+c*childNum]=dataXML.childNodes[i].childNodes[c].firstChild } } trace("関数内:"obj) } trace("関数外:"obj)
901 名前:Now_loading...774KB mailto:sage [2007/11/02(金) 01:51:36 ID:EdvSjx0p] >>894 毎回時間を比較するんじゃなくて コメントが出るであろうタイミングに setTimeoutを発動させればいんでない? >>899 「関数外」の方が先に実行されるんだし空っぽで当然。 obj使う処理はonLoadもしくはinit()側から呼び出しが発生するようにする。
902 名前:Now_loading...774KB mailto:sage [2007/11/02(金) 03:52:04 ID:qoH1//+J] >>901 ナルホドあざす
903 名前:Now_loading...774KB mailto:sage [2007/11/02(金) 10:50:45 ID:ShAgdDmm] 質問させてください 処理おちを回避するためタイムラインに配置されたムービーをあらかじめロードしておきたいのですか、ナウローディングのスクリプトでよいのでしょうか?またナウローディングのスクリプトは読み込むムービーの指定をどこでおこなっているのでしょうか?
904 名前:Now_loading...774KB mailto:sage [2007/11/02(金) 11:27:12 ID:ODz2tjDU] ナウローディングでいいんだお 最初からタイムラインに配置してあれば本体に含まれるからムービーの指定はいらない
905 名前:Now_loading...774KB mailto:sage [2007/11/02(金) 13:37:05 ID:ShAgdDmm] 904さんありがとうございます。 重ねて質問させていただくとナウローディングのサンプルを最初のフレームにおいても機能しない場合、何が間違っていると考えられるのでしょうか? ターゲット指定が必要ないならおくだけで機能すると考えたのですが、早計でしょうか?
906 名前:Now_loading...774KB mailto:sage [2007/11/02(金) 13:51:43 ID:R43aMwp9] >>905 そのスクリプトを拾ってきたサイトに聞いてください。
907 名前:Now_loading...774KB [2007/11/02(金) 18:01:50 ID:UeN3JUw0] 質問です。 XML.sendAndLoad()でXMLをPHPに投げようと思うのですがPHPでの受け取り方がわかりません。 LoadVars.sendAndLoad()はLoadVars.○○の変数名で$_POST["○○"]で受け取れるのはわかるのですが XMLの場合は何になるのでしょうか?
908 名前:Now_loading...774KB mailto:sage [2007/11/02(金) 18:13:00 ID:R43aMwp9] >>907 XMLにsendAndLoad()っていうメソッドあるんだ。どこから持ってきたの?
909 名前:Now_loading...774KB mailto:sage [2007/11/02(金) 18:15:51 ID:MNU/S6Ti] >>907 file_get_contents('php://input')とかでROWデータ取得できるんじゃなかったかな? そういう質問はPHPの方でしてくれ。
910 名前:883 [2007/11/02(金) 18:16:19 ID:nt3O37sv] >>887 で解決できなかったです。 だれか助けて〜
911 名前:Now_loading...774KB mailto:sage [2007/11/02(金) 18:19:40 ID:MNU/S6Ti] ×ROW → RAW
912 名前:Now_loading...774KB mailto:sage [2007/11/02(金) 18:23:52 ID:R43aMwp9] >>910 クリックするなり、Timerイベントでアクションしてみそ。 AS3ならFocusManager あたりも見てみると良いかもね。
913 名前:Now_loading...774KB [2007/11/02(金) 18:31:39 ID:UeN3JUw0] 907です。 PHP中心で調べたところ $_GLOBAL["HTTP_RAW_POST_DATA"] か file_get_contents("php://input"); でいけるようです。 ありがとうございました。
914 名前:Now_loading...774KB mailto:sage [2007/11/02(金) 23:02:08 ID:7fq5/wQb] Flex2のAS3について質問させていただきたいのですが、 ある領域に対してテキストを領域を超えないように幅を縮小したいと考えています。 今手元にちょっとソースが無いのですが テキストの幅を取得するメソッドと領域の幅を出して、その比率から scaleXとscaleYを設定したのですが、うまくいきませんでした。 (scaleX=scaleYだとうまくいったように見えるときもあるけど、 scaleY=1で、scaleXを可変にしたい。) 文字列を幅だけ縮小といったことは不可能でしょうか?
915 名前:Now_loading...774KB mailto:sage [2007/11/03(土) 01:41:07 ID:V9WoIR7Z] >914 システムフォントの表示はFlashのグラフィックエンジンの外にあるので 回転すると表示されないしスケールもガクガク。 埋め込みフォントならうまくいくものが多いけど、自分の記憶ではスケールのタテヨコは 連動するソースになってた気がするのでダメかも。 まあ、システムフォントしか使えませんというのであれば、 いったんBitmapDataに書き出してしまえばやりたい放題。 でも忠告しておくと、縦長の文字はかなり違和感があるしキタナイので 素直にレイアウトを考え直すべき。
916 名前:Now_loading...774KB mailto:sage [2007/11/03(土) 13:20:18 ID:RL8VH2Mg] 質問させてください 1024 768で作ったフラッシュを起動時に縮小表示させて表示させたいのがどのようなスクリプトを用いればいいのでしょうか?
917 名前:Now_loading...774KB mailto:sage [2007/11/03(土) 16:42:16 ID:zEA+ozhV] 質問です。 var labelArray:Array; //複数回呼び出される function addLabel(){ var label:Label = new Label(); labelArray.push(label); } function delLabel(){ for earch(var label in labelArray){ delete label;//ここでエラー } } このようにどんどん追加されていくコントロールを削除したいのですが 動的に作られたものしか削除出来ないとエラーが出ます。 このような処理を行うには、どうすればいいのでしょうか? Flex2(AS3)です。よろしくお願いします。
918 名前:Now_loading...774KB mailto:sage [2007/11/03(土) 19:25:24 ID:7WmIRf/1] >>917 for each
919 名前:Now_loading...774KB mailto:sage [2007/11/03(土) 20:06:11 ID:TdumaJ9J] >>915 ありがとうございます。 このぐらい簡単にできるもんかとおもいきや案外ややこしいんですね
920 名前:Now_loading...774KB [2007/11/03(土) 22:33:38 ID:IFaPQ6Yl] フォーカスが当てれなくて困っています。 全体の動作はには、マウスクリックした場所にテキストフィールドを生成するっていう ごく単純なActionScript、テキストフィールドは生成するんですが、フォーカスがあたりません。 たぶん、簡単な間違いをしてると思うのですが。。。 package { public class TextChildren extends MovieClip { var mytext_field:TextField; function addWord( thisM ){ mytext_field = new TextField(); mytext_field.x = parseFloat( thisM.x ); mytext_field.y = parseFloat( thisM.y ); addChild(mytext_field); MovieClip(root).setFocus = mytext_field;//フォーカスを与える } } } エラーメッセージ---------- TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。 よろしくお願いします。
921 名前:Now_loading...774KB [2007/11/04(日) 05:36:32 ID:SrCGAWzA] ラベルコントロールについて質問です。 var label:Label = new Label(); label.horizontalAlign="Center"; このような感じで中央に配置する処理を行いたいのですが、該当のプロパティーがありません。 どのようにすれば、いいのでしょうか? Flex2です。
922 名前:921 mailto:sage [2007/11/04(日) 08:41:08 ID:SrCGAWzA] 追記です。 label.setStyle("horizontalCenter", "0"); のようにしてもダメでした。 <mx:Label label="test" hosirontalCenter="0" /> だと、正常に真ん中に来るのに・・・。
923 名前:Now_loading...774KB mailto:sage [2007/11/04(日) 14:18:59 ID:Ttp8PfZM] あ
924 名前:Now_loading...774KB mailto:sage [2007/11/04(日) 15:00:35 ID:TgY20EIp] >922 textAlign="center"じゃないの? 意図しているものと違うかもしれんけど。 hirizontalCenterは親がコンテナのときしか使えないよ。
925 名前:Now_loading...774KB mailto:sage [2007/11/04(日) 15:07:22 ID:TgY20EIp] >920 setFocusって関数じゃないの? それにTextFieldってフォーカス当たるの? mytext_field.setFocus()はないので Flexの場合UITextFieldを使う。 Flash8はよく知らんけど stage.focus = mytext_fieldかも。
926 名前:Now_loading...774KB mailto:sage [2007/11/04(日) 17:05:13 ID:7Aaj0Ea5] ActionScript3.0での質問です。 www.saturn.dti.ne.jp/~npaka/flash/as30/VideoEx/index.html にあるflv再生のデモで、 stream.play("robo.flv"); の後にタイマーでNetStream.timeで再生時間を取得しようと思ったのですが (1秒ごとにtrace(stream.time);という記述で再生時間)、なぜか 「TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。」 というエラーメッセージが出て再生時間が取得できません。 うまく再生時間を取得する方法はないでしょうか?
927 名前:926 mailto:sage [2007/11/04(日) 18:34:20 ID:7Aaj0Ea5] 自己解決しました。 2回目のvar streamのvarをとったら普通に取得できました。
928 名前:Now_loading...774KB mailto:sage [2007/11/04(日) 18:37:07 ID:2f4z9Ilm] ヴぁーか
929 名前:Now_loading...774KB mailto:sage [2007/11/05(月) 22:45:40 ID:lHLG3R/O] ウィンドウサイズに合わせて写真やメニューの字が変化するASの書き方はどうすればできますか? 最終目標はこんな感じです! www.hatsuko-endo.co.jp/
930 名前:Now_loading...774KB mailto:sage [2007/11/05(月) 23:19:44 ID:O7tszGRo] >>929 イベントリスナーでON_MOUSEじゃね?
931 名前:Now_loading...774KB mailto:sage [2007/11/06(火) 00:19:37 ID:wbhk6ctT] >>930 適当なこと言うなw Stage.scaleMode = "noScale"; Stage.align = "TL"; とかにした上で、随時MovieClipの位置を調整してやればオk。 例えば、左下のWhat's Newだったらこんな感じ。 function onResize():Void { _y = Stage._height - 150; } onResize(); Stage.addListener(this);
932 名前:Now_loading...774KB mailto:sage [2007/11/06(火) 08:58:06 ID:JS+5U5uF] >>931 できました! これをHTMLにのっける場合どのようにHTML書けばできますか? いつもLayout Tableサイズ考えてのっけてたもんですから。。。
933 名前:Now_loading...774KB mailto:sage [2007/11/06(火) 16:07:11 ID:r29zpSb9] その最終目標のHTMLのソースみればいいじゃない
934 名前:Now_loading...774KB mailto:sage [2007/11/06(火) 20:11:22 ID:gccZQYS0] 円(親)が動けば、それに円(子)が追随してきて、親が止まった位置に止まる こんなアニメーションを付けたいのですが、円の数が多いと、制御が大変なので、 actionscript等で、自動的に、円(親)に円(子)が追随してくるようにはできませんか?
935 名前:Now_loading...774KB mailto:sage [2007/11/06(火) 20:30:12 ID:gccZQYS0] すみません。質問場所を間違えました。。。初心者スレで聞いてみます。
936 名前:Now_loading...774KB mailto:sage [2007/11/06(火) 20:33:42 ID:FHAz8Olx] >>934 MCのインスタンス名を、mc0, mc1, ... などとして、for文で for(i=0; i<10 ; i++){ this["mc"+i]._x +=10; //X方向への移動の場合 } 詳細は本を読んでクレイ
937 名前:Now_loading...774KB mailto:sage [2007/11/06(火) 20:39:14 ID:KHlnByyd] HTMLでいうところのラジオボタンとかセレクトボックスなんかを さくっと作れるAS3のクラスを配布してるありがたいサイトなんて ないでしょうかねえ?
938 名前:Now_loading...774KB mailto:sage [2007/11/06(火) 21:38:24 ID:soieKdPE] mxmlがあんだろーがこのボケナス
939 名前:Now_loading...774KB mailto:sage [2007/11/06(火) 22:25:59 ID:j73lbBVV] >>937 オレはFlexじゃなくてmxmlc(フリーのコンパイラ)でFlash作ってるから Flexだと使えるラジオボタンとかチェックボックスが使えなくて困ったんで全部自作したよ
940 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 00:13:27 ID:I6ltFm7I] >934 親が動いたイベントに対するイベントハンドラを作って、 適当にEasingを効かせたMoveエフェクトを 子にかけてやればいい。 目標座標を親の座標にするだけ。 Flex2だけどね。 前に、これでマウスカーソルを追いかけてくる イヤなバナーを作って遊んだことがある。 コード部分は20行ぐらい?
941 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 03:07:07 ID:CET5Nbj3] ActionScriptはFlex Builderでガシガシ書いているんだけど、 Flash CS3でリンケージで子インスタンスを含むMovieClipを使う時に問題。 swf内には取り込まれたasに追加記述されているのでCS3上ではうまくいくのだが builder内では、MovieClipに含まれる子インスタンスを参照すると(例えばTextField) 「定義されていない可能性のある〜」とエラー表示されてしまう。 何かうまく解決できる方法はないだろうか。 strictを外すとか自動ビルドを外せば回避できるんだが、 根本的なエラーもチェックしてくれなくなるから意味なくなっちゃう。
942 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 03:14:39 ID:kvHCwp7e] >>941 あ、俺が居る
943 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 03:18:28 ID:CET5Nbj3] 同士が居て良かったw 使用するシンボルとか小分けにすると再編集が面倒だからこういう方式取ってるけど このエラーを解決できないと、あんまりやる意味ないんだよなー。
944 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 03:53:47 ID:ERCQ9Nuz] >>938 >>939 ありがとうございます。 私も無料のFlex2SDKでやってます。 結局自作するしかないのか、、、
945 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 05:40:46 ID:ERCQ9Nuz] >>938 >>939 自己レス(最初に質問した937です)。 自作しかないのか、、、と思ったら、mxmlって言うの? XMLで書くやつでできました! 知らなかった〜!!! mxmlも勉強してみます。 ありがとう!!!!!
946 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 07:28:43 ID:6cc0qh9w] >>941 swfはひとつのコンポーネントのようにしてて扱うわけだから、 getter/setterのアクセサメソッドを準備するのが王道じゃないかな。使う側じゃなくて、作る側の問題。 他の人に使ってもらうとしたら、そのtextfield名なんてしったこっちゃないだろうからね。
947 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 07:55:58 ID:CET5Nbj3] コーディングルールとかの問題じゃねえよ。 Flashがリンケージ時において自動生成するコードの問題だ。 手動で先にclass作っておいてそこで変数(インスタンス)を書いておくと コンフリクトする。 書いておかないとBuilderから参照できない。 そういうことだ。
948 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 08:08:52 ID:6cc0qh9w] コーディングルール? で、解決できないわけ?
949 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 08:24:05 ID:CET5Nbj3] 理解してないなら答えなくていいよ
950 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 08:33:10 ID:HvIQivLQ] >>941 AS2だとintrinsic class置いとけば解決できたような気がするが AS3はシラネ
951 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 08:46:46 ID:CET5Nbj3] >>950 ちょっと試してみたが intrinsicはどうやらAS3ではサポートされていないようだ。残念。 代替えキーワードないんかなー。
952 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 09:09:08 ID:CET5Nbj3] お、読み込み先classをdynamic public classにしておくことで解決できたー 感動。 dynamicクラスって理解してなかったけど、今つかめました。 解決の糸口を与えてくれた>>951 に大感謝。愛してる。
953 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 09:09:41 ID:CET5Nbj3] >>950 だったw
954 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 09:26:44 ID:vl0Obkyc] intrinsic classって使った事ないんだけど、Flexで作業する時に必要になるの?
955 名前:934 mailto:sage [2007/11/07(水) 12:09:54 ID:2UEG1Wkj] >>936 ,940 ありがとうございます。今日一日教えていただいた方法を試して見ます。
956 名前:mimi [2007/11/07(水) 16:43:07 ID:8gw1qoGS] index.swfを自分自身が読み込まれるまで待つっていうスクリプトを 教えてください。 ローダーは外部になります
957 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 18:08:45 ID:ffO0QxI7] >>956 普通に自分がやりたいことを詳しく書いてくれた方がレス付くと思うよ その文章だけだと理解できん
958 名前:Now_loading...774KB mailto:sage [2007/11/07(水) 19:09:42 ID:nQSEvj8Y] >>952 子インスタンスの名前についてコンパイル時にチェックしなくても十分なら 素直にDisplayObjectContainer.getChildByName()使いなさい
959 名前:Now_loading...774KB [2007/11/08(木) 11:45:27 ID:xscr7s/5] AS3についての質問です。 package { import flash.display.MovieClip; public class test002 extends MovieClip{ var com_ary:Array; function test002(){ var i:int = 0; for (i=0; i<=10; i++) { com_ary[i] = "st"+i; trace(com_ary); } } } } TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。 at test002$iinit() となってしまいます。 何が原因なんでしょうか?
960 名前:Now_loading...774KB mailto:sage [2007/11/08(木) 11:47:54 ID:TBjHyoxk] 配列をnew Array()してないからでそ
961 名前:Now_loading...774KB [2007/11/08(木) 11:50:36 ID:xscr7s/5] >>960 あ、コンストラクタで初期化すればいいんですね。 ありがとうございました。
962 名前:Now_loading...774KB [2007/11/08(木) 14:12:54 ID:gC+NNbdE] 文字を点滅させて表示させたいのですが、どうやってやればいいですか?
963 名前:Now_loading...774KB mailto:sage [2007/11/08(木) 14:32:45 ID:/o4tKTqK] setIntervalかTimerでvisible操作するとか
964 名前:Now_loading...774KB [2007/11/08(木) 14:40:35 ID:gC+NNbdE] 初心者なもので記述方法が全然わかんないんですが教えていただけないでしょうか・・?><
965 名前:Now_loading...774KB mailto:sage [2007/11/08(木) 14:44:50 ID:f3RriJny] >>964 1.文字を点滅させるよりは簡単なASを勉強する 2.文字を点滅させるASを勉強する これでおk! まあダイナミックテキストと静止テキストの区別すら付かない初心者なら 適当にタイムラインで文字を出したり消したりするアニメーションを作ればいいと思うよ
966 名前:Now_loading...774KB mailto:sage [2007/11/08(木) 14:54:39 ID:TBjHyoxk] 基礎を教えるスレではないしな
967 名前:Now_loading...774KB [2007/11/08(木) 15:16:39 ID:gC+NNbdE] 了解。 ありがとうございました!
968 名前:Now_loading...774KB [2007/11/08(木) 16:23:32 ID:4pG4BDi8] CS3を使用しています。 this.onEnterFrame = function(){ this.loadMovie(XXXX.jpg); } というように画面内に画像をXMLファイルから読み込みたいと思っています。 ------------------------------------------------------------ xmlIndex.blogURL = rootNode.attributes["blogURL"]; ------------------------------------------------------------ というような定義をして「xmlIndex.blogURL」に「test.jpg」と出力はできるのですが ------------------------------------------------------------ this.onEnterFrame = function(){ this.loadMovie("test.jpg"); } ------------------------------------------------------------ ↑を↓のようにすると画像が出力されません。 ------------------------------------------------------------ this.onEnterFrame = function(){ xmlIndex.blogURL = rootNode.attributes["blogURL"]; this.loadMovie("xmlIndex.blogURL"); } ------------------------------------------------------------ 何がいけないのでしょうか?ご教授宜しくお願い致します。
969 名前:Now_loading...774KB [2007/11/08(木) 16:26:07 ID:4pG4BDi8] CS3を使用しています。 this.onEnterFrame = function(){ this.loadMovie(XXXX.jpg); } というように画面内に画像をXMLファイルから読み込みたいと思っています。 ------------------------------------------------------------ xmlIndex.blogURL = rootNode.attributes["blogURL"]; ------------------------------------------------------------ というような定義をして「xmlIndex.blogURL」に「test.jpg」と出力はできるのですが ------------------------------------------------------------ this.onEnterFrame = function(){ this.loadMovie("test.jpg"); } ------------------------------------------------------------ ↑を↓のようにすると画像が出力されません。 ------------------------------------------------------------ this.onEnterFrame = function(){ xmlIndex.blogURL = rootNode.attributes["blogURL"]; this.loadMovie("xmlIndex.blogURL"); } ------------------------------------------------------------ 何がいけないのでしょうか?ご教授宜しくお願い致します。
970 名前:Now_loading...774KB mailto:sage [2007/11/08(木) 16:33:14 ID:Fci9M5UE] >>969 this.loadMovie("xmlIndex.blogURL");じゃなくて this.loadMovie(xmlIndex.blogURL);じゃないの?
971 名前:960 [2007/11/08(木) 16:43:37 ID:4pG4BDi8] >>970 早速のご回答ありがとうございます。 >this.loadMovie("xmlIndex.blogURL");じゃなくて >this.loadMovie(xmlIndex.blogURL);じゃないの? 下のほうでも試したのですがダメでした。 ネットでもかなり調べたのですが、かなり複雑のものが多く、 ただ「XMLに書かれたjpgを出力する」だけというのシンプルなものが ないんですよね・・
972 名前:Now_loading...774KB mailto:sage [2007/11/08(木) 17:25:08 ID:1Lgx9h2Z] >>971 xmlをロードをする。 読み込み完了を待つ。 読み込まれたxmlのなかの値を参照して外部ファイルをロードする。 外部ファイルのロード完了を待つ。 以下の手順をきちんと踏めばできるはず。 それぞれの動作は「シンプルなもの」だ。 そもそもなんでonEnterFrameで読み込んでんの? ロード終わったらdeleteしてるの?
973 名前:Now_loading...774KB [2007/11/08(木) 20:56:23 ID:J/4d1WXC] obj=new Object; iName="TEXT"; t="test"; obj["item"]={iName: t}; iNameを"TEXT"としてobjに代入したいのですがどうしたらいいんでしょう?
974 名前:Now_loading...774KB mailto:sage [2007/11/08(木) 21:00:37 ID:atek++ze] 質問の意味がわからないんだけど、こういうことじゃなくて? obj = { TEXT:"test" }
975 名前:Now_loading...774KB mailto:sage [2007/11/08(木) 21:02:01 ID:Yy/Qtw5l] >>973 obj = {iName : "TEXT"}; または、 obj = new Object(); obj.iName = "TEXT"; これでどうでしょ?AS2だけど
976 名前:Now_loading...774KB mailto:sage [2007/11/08(木) 21:07:54 ID:J/4d1WXC] AS2の話です。 すみません質問がド下手でした orz obj["item"]={iName: t}; のiNameの部分を変数iNameとして扱って、 中のTEXTという文字列でラベルを作る。 要するに obj["item"]={TEXT: t}; のようにしたいということです。
977 名前:Now_loading...774KB mailto:sage [2007/11/08(木) 21:29:20 ID:Yy/Qtw5l] むむむ… objオブジェクトに変数iNameの中身("TEXT")が名前になってるプロパティを作る、てことでいいのかな? なら、 var iName:String = "TEXT"; obj[iName] = t; でいけるかな? 力不足でスマン
978 名前:Now_loading...774KB [2007/11/08(木) 21:48:12 ID:J/4d1WXC] >>977 最終的に、 obj―item1-TEXT1: "test", TEXT2: "test" 亙tem2-TEXT1: "test", TEXT2: "test" 亙tem3-TEXT1: "test", TEXT2: "test" こういう構造を作りたいので、 forで{"TEXT"+i: t}などとやってラベルを作りたいんです。 なのでとりあえずobj["item"]に{TEXT: "test"}を放り込みたいんです。
979 名前:Now_loading...774KB mailto:sage [2007/11/08(木) 21:49:11 ID:J/4d1WXC] ↓こうでした。 obj 亙tem1-TEXT1: "test", TEXT2: "test" 亙tem2-TEXT1: "test", TEXT2: "test" 亙tem3-TEXT1: "test", TEXT2: "test"
980 名前:Now_loading...774KB mailto:sage [2007/11/08(木) 21:56:40 ID:+41L94ez] >>978 多次元が分からないだけかな? iName = "TEXT1"; obj = new Object(); obj["item1"] = new Object(); obj["item1"][iName] = "test";
981 名前:977 mailto:sage [2007/11/08(木) 22:00:09 ID:6eO0JI+R] そうか、じゃあ、 iName = "TEXT"+i.toString(); obj["item1"][iName] = t; これでできんかな?
982 名前:Now_loading...774KB mailto:sage [2007/11/08(木) 22:05:15 ID:J/4d1WXC] >>980 ,>>981 なるほど、多次元か。 配列と同じなんですね。 解決しました。 ありがとうございます!
983 名前:Now_loading...774KB [2007/11/09(金) 00:01:28 ID:jP3mppC7] ゲーム作りを頼まれたので、ASを学ぼうとしています。 AS2.0についてはりぼてASみたいに説明してるところってありますか? はりぼてASはAS1.0だって友人が言っていたので…。
984 名前:Now_loading...774KB mailto:sage [2007/11/09(金) 00:02:46 ID:TR0en4vS] すいません途中で送ってしまった上上げてました・・・。 ゲーム作りを頼まれたので、ASを学ぼうとしています。 しかし初心者なのではりぼてASで学ぼうとしたんですが、 学ぶからには今主流のAS2.0を学んだ方がいいかなと思ったんです。 今後のためにもなりますし。。。 そこで、AS2.0についてはりぼてASみたいに説明してるところってありますか? はりぼてASはAS1.0だって友人が言っていたので…。
985 名前:Now_loading...774KB mailto:sage [2007/11/09(金) 02:27:43 ID:19MNj7QZ] ActionScriptでぐぐればごろごろ出てくる。 どういうゲームを作ろうとしてるのか知らんが、 そんなことで質問してるようじゃまともにゲーム作れるまで相当時間かかるぞ
986 名前:969 mailto:sage [2007/11/09(金) 09:07:44 ID:WWPl5JgG] >>972 ご回答ありがとうございます。 初心者というか基本的な部分が分からず、既にあるソースを改変して 作っているので、良くわからないんです。 その後検索したら、Adobeのサイトでよいサンプルが見つかったので こちらを基に作成したいと思います。 ご回答くださった方ありがとうございました。
987 名前:Now_loading...774KB [2007/11/09(金) 16:05:14 ID:qvSjiwjG] 今Flashでブロック崩しのゲームを作ってるのですが 携帯で試しにやってみたところ、バーが左右に動きません。 誰か詳しい方教えていただけないでしょうか? ちなみに今は onClipEvent (enterFrame) { // 左キーを押したとき if (Key.isDown(Key.LEFT)) { _x = _x - 3; // 左に移動 } // 右キーを押したとき if (Key.isDown(Key.RIGHT)) { _x = _x + 3; // 右に移動 となっています。 よろしくお願い致します
988 名前:Now_loading...774KB mailto:sage [2007/11/09(金) 18:21:51 ID:G1pMIVe5] Key.isDown(Key.LEFT) が携帯非対応なんじゃね?
989 名前:Now_loading...774KB mailto:sage [2007/11/11(日) 11:16:02 ID:Li0ILN5t] FLEX2勉強中です。 <mx:Script>内のASで var myimage:Image=new Image(); myimage.load("xxx.jpg"); てな感じで画像を扱う場合、loadがCOMPLETEした後なのに myimage.width がなぜか0になってて画像のサイズが得られません。 使い方変ですか?FLEXではこういう使い方はしないの?
990 名前:きくりん [2007/11/11(日) 12:40:24 ID:Vj2kc08b] 初心者なので教えて欲しいのですが・・・ maskimgx = 500000; mask._width = maskimgx; move = 8; moveb = 0; onEnterFrame = function() { moveb += move; mask._x = moveb; mask.image._x = -moveb; mask._xscale = (maskimgx/moveb); if (mask._x>=400) { this.onEnterFrame = null; } } stop(); で次のエラーが出ます・・ 1152: 継承した定義 flash.display:DisplayObject.mask (名前空間 public) にコンフリクトが存在します。 原因を教えてください。
991 名前:Now_loading...774KB mailto:sage [2007/11/11(日) 12:49:51 ID:11XmAJwN] 環境書いてないので何とも言えないが、 AS2のソースをAS3でパブリッシュしようとしてるとか。
992 名前:Now_loading...774KB mailto:sage [2007/11/11(日) 13:32:31 ID:YeyMZtFJ] ただ単に、"mask" と言う変数を自分で宣言していて、それが継承した所に既に存在していて、変数がかぶっている・・・
993 名前:Now_loading...774KB mailto:sage [2007/11/11(日) 13:34:53 ID:V2U5Z1jA] >>989 っmyimage.contentWidth
994 名前:Now_loading...774KB mailto:sage [2007/11/11(日) 16:43:41 ID:Li0ILN5t] >>993 contentWidthなんてプロパティあったんだ。 できました、ありがとー!
995 名前:きくりん [2007/11/11(日) 20:38:17 ID:NzP66sqR] すみません。素人で・・・ "mask" と言う変数を自分で宣言していて、それが継承した所に既に存在していて、変数がかぶっている との事ですが、どのように解決すればいいのか解りません・・・教えてください。
996 名前:Now_loading...774KB mailto:sage [2007/11/11(日) 21:33:52 ID:CP0yJHzT] きくりんちゃん
997 名前:Now_loading...774KB mailto:sage [2007/11/11(日) 21:35:21 ID:CP0yJHzT] maskって名前をやめて、myMaskとかに変えてみたら?
998 名前:Now_loading...774KB mailto:sage [2007/11/12(月) 05:31:02 ID:e6njLGzS] .
999 名前:Now_loading...774KB mailto:sage [2007/11/12(月) 05:31:33 ID:e6njLGzS] .
1000 名前:小倉優子 ◆YUKOH0W58Q mailto:sage [2007/11/12(月) 05:32:33 ID:e6njLGzS] 1000ならジュースでも飲むか
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。