ActionScript 誰かが物凄い勢いで解答するスレ 11

このエントリーをはてなブックマークに追加
952Now_loading...774KB:2006/04/19(水) 22:33:24 ID:gdVbzSXC
最近MXからflash8に変えたんだけど
AS書いてて、キーの入力から実際にコードが表示されるまでに
なんかレスポンスない?
MXの頃はそんなこと無かったと思うんだが、これってPCのスペックの問題か?
当方セレロン2G メモリ512のPC使ってます。
flash8つかってる方で同じような現象の方いますか?
953Now_loading...774KB:2006/04/19(水) 23:23:32 ID:LuP8o+ZT
>>952
確かに少し重いよ。
MXで出来ることはMXで作る。
8でしか出来ないことは8でやるのがベスト。
954Now_loading...774KB:2006/04/20(木) 00:45:24 ID:1v/a/sAa
簡単なシューティングを作ろうと思ってるんですけど…
複製の弾で複製の敵に影響を与えるにはどう組んだらいいですか?
955Now_loading...774KB:2006/04/20(木) 02:07:29 ID:5Bd4QbC/
>>954
影響?
シューティング作るなら、
複製:duplicateMovieClip
じゃなく、attachMovie使った方がいいよ。

MovieClip.attachMovie
MovieClip.hitTest
MovieClip.onEnterFrame

あたりをヘルプで調べてみ。
956Now_loading...774KB:2006/04/20(木) 02:10:03 ID:vk4AwJGy
弾を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]を渡す
}
}
}
}
957Now_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は出ます。
958Now_loading...774KB:2006/04/20(木) 04:30:06 ID:Y/qECXP4
線の色白でいいんか。
_parent.kami.curveTo(r, r, r, 0);
959957:2006/04/20(木) 05:12:10 ID:iWM4FSQc
>>958
はい白でいいです。うまく出来ました。

ところで、_parent.kamiはthisとどう違うのでしょうか?
kami上に描いているので変わらないと思いますが、違いが分かりません。
960Now_loading...774KB:2006/04/20(木) 05:47:35 ID:Y/qECXP4
ボタンに設定したんだからボタンからの相対パスになるわけ。
trace(this);してみそ。
961Now_loading...774KB:2006/04/20(木) 05:48:23 ID:wZ7q9KeK
>>959
イベントハンドラメソッド内でのthisは、
イベントをハンドリングするオブジェクトを参照する。

この場合のthisは_root.startB。
962ami ◆ami/FR.DVU :2006/04/20(木) 10:03:41 ID:xStnOidD
>>949怖いです。

>>947>>951dクス

出直してきます!
963ami ◆ami/FR.DVU :2006/04/20(木) 10:16:38 ID:xStnOidD
>>947置き換えたら逆再生が出来て、問題解決しました!
みなさん馬鹿にアドバイスありがとうございました。
ですが!逆再生すると通常の再生はできなくなってしまうんです('A`)
@ボタンを押して1フレーム目から10フレーム目までを再生

A別のボタンを押して10フレ目から1フレ目まで逆再生

Bここで@をやることが出来ない
964Now_loading...774KB:2006/04/20(木) 10:22:14 ID:05leBsuo
お前が馬鹿だからできないんだろ
丸投げ厨は消えろや
965Now_loading...774KB:2006/04/20(木) 10:25:43 ID:vvGNYo1F
もう、「作ってくれ!」と言ってくれた方がはるかに早そうだ・・・
966ami ◆ami/FR.DVU :2006/04/20(木) 10:38:26 ID:xStnOidD
迷惑掛けてすみません。
ノシ
967Now_loading...774KB:2006/04/20(木) 10:41:18 ID:41BoVjBC
>>954
シューティング作るなら、まずオブジェクト指向を
覚えるといい、敵の管理と玉の管理するのに必要と思われ
968Now_loading...774KB:2006/04/20(木) 11:25:11 ID:CmBxcY/Y
while中に、1フレーム進めながらif判定をしたいのですが、どうすればいいのでしょうか?
i=0;
ii=3;
while(i<1=10){
if(ii==10){
trace("ok");
break;
}else{
//★ここで1フレーム進めたい
}i++;ii++;}
よろしくお願いします。
969Now_loading...774KB:2006/04/20(木) 11:34:07 ID:vvGNYo1F
>>968
普通は、onEnterFrame とか onClipEvent(enterFrame){} を使うけど、
場合によっては、★部分に
nextFrame();
updateAfterEvent();
かな。
途中経過の表示が必要なければ、nextFrame();のみでいい。
970Now_loading...774KB:2006/04/20(木) 11:38:06 ID:vvGNYo1F
訂正。
調べたら、updateAfterEvent();に関して、
forやwhileループ処理内から実行したときは、画面の更新が行われません。
と書いてありました。
971Now_loading...774KB:2006/04/20(木) 11:41:13 ID:Y/qECXP4
これ、意図がよくわからん。
while(i<1=10)
972Now_loading...774KB:2006/04/20(木) 12:03:21 ID:CmBxcY/Y
>969
空いてるMCが無かったんでwhileでどうかな?と思ったんですが、
用意してonEnterFrameしてみます。
調べてくださってありがとうございました。

>i<1=10 着にスンナw
973Now_loading...774KB:2006/04/20(木) 12:08:09 ID:P4q/t0lO
最近の質問側は終わってるな
974Now_loading...774KB:2006/04/20(木) 12:16:52 ID:pD/nVdaG
そもそも質問する側が「努力して理解したい」のか「努力理解抜きで結果は欲しい」のか
自覚せずに、なんでもかんでも「教えてください」と言うから混乱するんだろうな。
後者なら「代わりにAS書いてください」「作って下さい」と言って欲しいもんだ。
そうすれば、誰も説明とか余計なことしないし、理解や努力も期待しないだろ。
975Now_loading...774KB:2006/04/20(木) 12:20:17 ID:eGQ4WSRU
最近は丸投げが多すぎて、質問に答えなくなった。

ヒント貰うくらいにして、後は自分で考えないと本人のためにならん。
976Now_loading...774KB:2006/04/20(木) 20:58:09 ID:1v/a/sAa
>>955>>956
dd いろいろ試してみます
977Now_loading...774KB:2006/04/20(木) 21:31:29 ID:IuMcsmE9
>>972 ボケがぁ!
978Now_loading...774KB:2006/04/20(木) 21:46:34 ID:h9CTpbjK
>>975
別に本人のためとか考える必要はない。
質問者は私たちに難解な問題を提供してくれています。
979Now_loading...774KB:2006/04/21(金) 00:43:42 ID:rXBgIwUy
国語のな。
980Now_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はステージ上に現れるのですが全く動きません。
原因のご指摘を願います。
981Now_loading...774KB:2006/04/21(金) 09:58:54 ID:uaSSgn5b
attachMovieの第二引数をダブルクォートで括ってないなら、
変数txt1aの内容を名前としてアタッチされると思う。
982980:2006/04/21(金) 10:01:49 ID:+AR1bETe
しまった! 上方向だから
txt1a._y -= speed;
だった。
983980:2006/04/21(金) 10:33:09 ID:Jtjjz3Z9
>>981
_root.attachMovie("txt1", "txt1a", 2, prop);
ですよね?
動かないです。
984Now_loading...774KB:2006/04/21(金) 11:35:12 ID:OElXSfOO
>>983
動くよ。
this.onEnterFrameはいつ、どこのフレームに書いてるの?
speedの初期値は入ってるの?
propに矛盾する関数とか入れてない?
985980:2006/04/21(金) 12:07:28 ID:uxadYFVf
>>984
ありがとうございます。
this.onEnterFrameは、rootの1フレ目に書いています。
speedの初期値は、this.onEnterFrameの前に speed=5 としています。
propは、出現場所として prop={_x:10, _y:100} などとしています。
986Now_loading...774KB:2006/04/21(金) 12:23:44 ID:K9UlrEaC
>985
attach直後の命令はフレームを進める必要がある。
macromediaサイトに書いてあったのを昔呼んだことがあるがどうよ?
_root.attachMovie("mc","mc",i);
_root.onEnterFrame=function(){
mc.onEnterFrame=function(){
ステートメント
}
delete _root.onEnterFrame;
}
987Now_loading...774KB:2006/04/21(金) 12:53:04 ID:JxOo0g9F
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);
};

この最小構成でも動かないのか?
988980:2006/04/21(金) 15:25:38 ID:nrG2su4o
>>986,987
出来ました。987さんの方法を採用しました。

ところで、「1フレ目は扱いが特殊なんで」とのことですが、どのような弊害が
生じるのでしょうか?
989Now_loading...774KB:2006/04/21(金) 15:31:29 ID:WPLyWgqF
次スレたてますた。
ActionScript 誰かが物凄い勢いで解答するスレ 12
http://pc8.2ch.net/test/read.cgi/swf/1145601039/
990Now_loading...774KB:2006/04/21(金) 17:33:23 ID:/eYDFTTr
1000が近づいてます。
残り10だけとなると質問しづらい、回答もしづらい微妙な間です。
といって、一つ埋めてみるテスト
991Now_loading...774KB:2006/04/21(金) 17:55:04 ID:qCrY5Q3n
では埋めましょう
992Now_loading...774KB:2006/04/21(金) 18:44:15 ID:rXBgIwUy
for(var i = 993 ; i <= 1000 ; ++i){
name.text = "" ;
mail.text = "sage" ;
hatugen.text = i + "ゲット埋め" ;
}
993Now_loading...774KB:2006/04/21(金) 19:03:36 ID:WPLyWgqF
for(var i=0;i<10;trace("1000Get!!!"),i++);
994Now_loading...774KB:2006/04/21(金) 19:51:33 ID:/M+XCLga
while(trace("1000Get!!!"));
995Now_loading...774KB:2006/04/21(金) 20:27:24 ID:rXBgIwUy
ムービー内のスクリプトが原因でFlashPlayerの実行速度が遅くなっています。
996Now_loading...774KB:2006/04/21(金) 20:31:15 ID:fPzVoZd6
996
997Now_loading...774KB:2006/04/21(金) 20:59:28 ID:/M+XCLga
>>995
ループ内でtraceしてると
そのメッセージ出ないで死ぬ場合が多い
998Now_loading...774KB:2006/04/21(金) 21:10:03 ID:rXBgIwUy
>>997
まじかよ・・・保存し忘れてたらキツス
999Now_loading...774KB:2006/04/21(金) 21:10:42 ID:GwnMRE5s
if ( 質問 == "日本語" ){
  return 回答
} else {
  return スルー
}
1000Now_loading...774KB:2006/04/21(金) 21:12:32 ID:rXBgIwUy
そういえばフラッシュ1クリックしないとアクティブにならなくなったけど
外部JSで対策してる人居る?
居たとしたらjaba切られてるユーザへの対処はどうしてるんだろ・・・
999で聞いても無意味かw
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。