- ベストアンサー
flash4でonEntarFrameの代わりになる機能は
flashのMX等はonEntarFrame等でムービークリップをフレーム毎に動かす事ができますが、flash4での場合 (実際にはFflashLiteを使用していますがスクリプトは4とほぼ同じですので) 同じ様な動作をさせようと思ったときは、どうすればいいでしょうか? 何かいい方法があれば教えて下さい。
- みんなの回答 (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; } } ------------------------ と書いたときと同じようなものになります。
お礼
いつもありがとうございます!丁寧な回答のおかげですっきり解決いたしました。これを自分で調べていたらすごい時間がかかったことと思います。やっぱりonEnterFrameはなかったんですね。でも代わりの方法で十分処理できそうですのでそれで試してみます。 前回の質問とあわせてお礼させていただきます。