• ベストアンサー

flash4でonEntarFrameの代わりになる機能は

flashのMX等はonEntarFrame等でムービークリップをフレーム毎に動かす事ができますが、flash4での場合 (実際にはFflashLiteを使用していますがスクリプトは4とほぼ同じですので) 同じ様な動作をさせようと思ったときは、どうすればいいでしょうか? 何かいい方法があれば教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.1

前回のご質問 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2243407  ↑教えて!goo ↓OKWave (同じです) http://okwave.jp/kotaeru.php3?q=2243407 の続きの回答です。 もし,onClipEvent (enterFrame) で上下に大きくなるようにしたいのでしたら, ムービークリップの中にボタンを入れて(ボタンをムービークリップに変換してもOK), そのムービークリップのタイムラインを次のようにして,              1   3  □ レイヤー 筆・・|○ []|○| ←スクリプト用レイヤー  □ レイヤー 筆・・|●///[]| ←ボタンを置いたレイヤー スクリプト用レイヤーの フレーム1 に ---------------- stop(); ---------------- スクリプト用レイヤーの フレーム3 に ---------------- setProperty("", _yscale, getProperty("", _yscale)+5); gotoAndPlay(2); ---------------- そして,ボタンに -------------------- on (press) { play(); } on (release) { gotoAndStop(1); } -------------------- と書くと, on (press) で拡大しだして, on (release) で拡大が止まるMCができあがります。 ムービークリップ の中の フレーム2 と 3 がループするので, 何度も フレーム3 の スクリプトが実行されます。 =========================== つまり上の仕組みは, 普通のFlashで言うところの ムービークリップに, ------------------------ onClipEvent (load) { var flag = 0; } on (press) { flag = 1; } on (release) { flag = 0; } onClipEvent (enterFrame) { if (flag == 1) { this._yscale += 5; } } ------------------------ と書いたときと同じようなものになります。

muku101681
質問者

お礼

いつもありがとうございます!丁寧な回答のおかげですっきり解決いたしました。これを自分で調べていたらすごい時間がかかったことと思います。やっぱりonEnterFrameはなかったんですね。でも代わりの方法で十分処理できそうですのでそれで試してみます。 前回の質問とあわせてお礼させていただきます。

関連するQ&A

専門家に質問してみよう