電子書籍の厳選無料作品が豊富!

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

A 回答 (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;
}
}
------------------------

と書いたときと同じようなものになります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/06/29 14:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!