ActionScript 誰かが物凄い勢いで解答するスレ 11 最近MXからflash8に変えたんだけど AS書いてて、キーの入力から実際にコードが表示されるまでに なんかレスポンスない? MXの頃はそんなこと無かったと思うんだが、これってPCのスペックの問題か? 当方セレロン2G メモリ512のPC使ってます。 flash8つかってる方で同じような現象の方いますか?
>>952 確かに少し重いよ。
MXで出来ることはMXで作る。
8でしか出来ないことは8でやるのがベスト。
簡単なシューティングを作ろうと思ってるんですけど… 複製の弾で複製の敵に影響を与えるにはどう組んだらいいですか?
>>954 影響?
シューティング作るなら、
複製:duplicateMovieClip
じゃなく、attachMovie使った方がいいよ。
MovieClip.attachMovie
MovieClip.hitTest
MovieClip.onEnterFrame
あたりをヘルプで調べてみ。
弾をattachするときにそのMCを tama_arrayに登録 敵をattachするときにそのMCを teki_arrayに登録 _root.onEnterFrame=function(){ for(var ia in tama_array){ for(var ib in teki_array){ if(tama_array[ia].hitTest(teki_array[ib])){ //衝突処理の関数にtama_array[ia]とteki_array[ib]を渡す } } } }
957 :
Now_loading...774KB :2006/04/20(木) 03:43:30 ID:Ui7yjCTB
FlashMX2004を使ってkamiというMCの内部に曲線を描くASを書いています。 rootに開始ボタン(インスタンス名:startB)を配置し、これを押してkamiのタイ ムラインのフレームアクション(下) r = 100; this.lineStyle(3, 0xffffff, 100); this.moveTo(0, r);//インスタンスkamiの中心点から開始点に動かす _root.startB.onRelease = function() { this.curveTo(r, r, r, 0); trace("Play"); }; から、曲線を描きたいのですが現れません。どう修正すればいいでしょうか? なお、trace("Play")でPlayは出ます。
線の色白でいいんか。 _parent.kami.curveTo(r, r, r, 0);
959 :
957 :2006/04/20(木) 05:12:10 ID:iWM4FSQc
>>958 はい白でいいです。うまく出来ました。
ところで、_parent.kamiはthisとどう違うのでしょうか?
kami上に描いているので変わらないと思いますが、違いが分かりません。
ボタンに設定したんだからボタンからの相対パスになるわけ。 trace(this);してみそ。
>>959 イベントハンドラメソッド内でのthisは、
イベントをハンドリングするオブジェクトを参照する。
この場合のthisは_root.startB。
962 :
ami ◆ami/FR.DVU :2006/04/20(木) 10:03:41 ID:xStnOidD
963 :
ami ◆ami/FR.DVU :2006/04/20(木) 10:16:38 ID:xStnOidD
>>947 置き換えたら逆再生が出来て、問題解決しました!
みなさん馬鹿にアドバイスありがとうございました。
ですが!逆再生すると通常の再生はできなくなってしまうんです('A`)
@ボタンを押して1フレーム目から10フレーム目までを再生
↓
A別のボタンを押して10フレ目から1フレ目まで逆再生
↓
Bここで@をやることが出来ない
お前が馬鹿だからできないんだろ 丸投げ厨は消えろや
もう、「作ってくれ!」と言ってくれた方がはるかに早そうだ・・・
966 :
ami ◆ami/FR.DVU :2006/04/20(木) 10:38:26 ID:xStnOidD
迷惑掛けてすみません。 ノシ
>>954 シューティング作るなら、まずオブジェクト指向を
覚えるといい、敵の管理と玉の管理するのに必要と思われ
while中に、1フレーム進めながらif判定をしたいのですが、どうすればいいのでしょうか? i=0; ii=3; while(i<1=10){ if(ii==10){ trace("ok"); break; }else{ //★ここで1フレーム進めたい }i++;ii++;} よろしくお願いします。
>>968 普通は、onEnterFrame とか onClipEvent(enterFrame){} を使うけど、
場合によっては、★部分に
nextFrame();
updateAfterEvent();
かな。
途中経過の表示が必要なければ、nextFrame();のみでいい。
訂正。 調べたら、updateAfterEvent();に関して、 forやwhileループ処理内から実行したときは、画面の更新が行われません。 と書いてありました。
これ、意図がよくわからん。 while(i<1=10)
>969 空いてるMCが無かったんでwhileでどうかな?と思ったんですが、 用意してonEnterFrameしてみます。 調べてくださってありがとうございました。 >i<1=10 着にスンナw
最近の質問側は終わってるな
そもそも質問する側が「努力して理解したい」のか「努力理解抜きで結果は欲しい」のか 自覚せずに、なんでもかんでも「教えてください」と言うから混乱するんだろうな。 後者なら「代わりにAS書いてください」「作って下さい」と言って欲しいもんだ。 そうすれば、誰も説明とか余計なことしないし、理解や努力も期待しないだろ。
最近は丸投げが多すぎて、質問に答えなくなった。 ヒント貰うくらいにして、後は自分で考えないと本人のためにならん。
>>975 別に本人のためとか考える必要はない。
質問者は私たちに難解な問題を提供してくれています。
国語のな。
980 :
Now_loading...774KB :2006/04/21(金) 09:41:27 ID:+AR1bETe
(上のやりとりを見ると怒られそうなのですが・・・・) 環境:FlashMX2004,Player7 ボタンを押すと _root.attachMovie("txt1", txt1a, 2, prop); により、txt1というMCが別名:txt1aでステージ上に現れ、フレームアクション this.onEnterFrame = function() { txt1a._y += speed; }; で、上に動くようにしたいと思っています。 このASでは、txt1aはステージ上に現れるのですが全く動きません。 原因のご指摘を願います。
attachMovieの第二引数をダブルクォートで括ってないなら、 変数txt1aの内容を名前としてアタッチされると思う。
982 :
980 :2006/04/21(金) 10:01:49 ID:+AR1bETe
しまった! 上方向だから txt1a._y -= speed; だった。
983 :
980 :2006/04/21(金) 10:33:09 ID:Jtjjz3Z9
>>981 _root.attachMovie("txt1", "txt1a", 2, prop);
ですよね?
動かないです。
>>983 動くよ。
this.onEnterFrameはいつ、どこのフレームに書いてるの?
speedの初期値は入ってるの?
propに矛盾する関数とか入れてない?
985 :
980 :2006/04/21(金) 12:07:28 ID:uxadYFVf
>>984 ありがとうございます。
this.onEnterFrameは、rootの1フレ目に書いています。
speedの初期値は、this.onEnterFrameの前に speed=5 としています。
propは、出現場所として prop={_x:10, _y:100} などとしています。
>985 attach直後の命令はフレームを進める必要がある。 macromediaサイトに書いてあったのを昔呼んだことがあるがどうよ? _root.attachMovie("mc","mc",i); _root.onEnterFrame=function(){ mc.onEnterFrame=function(){ ステートメント } delete _root.onEnterFrame; }
1フレ目は扱いが特殊なんで、ここにAS書くのはあまりおすすめしないが、 それは別として自分の環境では以下で動いた。 1フレ目に以下の内容コピペして、ボタンがわりにMC「b_mc」を配置。 prop = {_x:10, _y:100}; speed = 5; this.onEnterFrame = function() { txt1a._y -= speed; }; this.b_mc.onRelease = function() { _root.attachMovie("txt1", "txt1a", 2, prop); }; この最小構成でも動かないのか?
988 :
980 :2006/04/21(金) 15:25:38 ID:nrG2su4o
>>986 ,987
出来ました。987さんの方法を採用しました。
ところで、「1フレ目は扱いが特殊なんで」とのことですが、どのような弊害が
生じるのでしょうか?
1000が近づいてます。 残り10だけとなると質問しづらい、回答もしづらい微妙な間です。 といって、一つ埋めてみるテスト
では埋めましょう
for(var i = 993 ; i <= 1000 ; ++i){ name.text = "" ; mail.text = "sage" ; hatugen.text = i + "ゲット埋め" ; }
for(var i=0;i<10;trace("1000Get!!!"),i++);
while(trace("1000Get!!!"));
995 :
Now_loading...774KB :2006/04/21(金) 20:27:24 ID:rXBgIwUy
ムービー内のスクリプトが原因でFlashPlayerの実行速度が遅くなっています。
996 :
Now_loading...774KB :2006/04/21(金) 20:31:15 ID:fPzVoZd6
996
>>995 ループ内でtraceしてると
そのメッセージ出ないで死ぬ場合が多い
if ( 質問 == "日本語" ){ return 回答 } else { return スルー }
そういえばフラッシュ1クリックしないとアクティブにならなくなったけど 外部JSで対策してる人居る? 居たとしたらjaba切られてるユーザへの対処はどうしてるんだろ・・・ 999で聞いても無意味かw
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。