• ベストアンサー

Flash Lite1.1でActionScriptを使用してのフェードイン・フェードアウトについて

こんにちは。 ActionScript初心者です。Flash Lite1.1でActionScriptを使用してのフェードイン・フェードアウトについて教えて下さい。 FlashLiteではonClipEventが使えないそうだったので ムービークリップ内の1フレーム目に _alpha=0; 2フレーム以降毎に _alpha+=10; と記述すればフェードイン出来ましたが、もっとスマートにやる方法があれば教えていただけますでしょうか。 以上よろしくお願いいたします。

  • sdow
  • お礼率100% (1/1)
  • Flash
  • 回答数1
  • ありがとう数2

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

ムービークリップ内のフレームに書いてループさせるのです。 onClipEvent(enterFrame) はムービークリップに書くスクリプトでしょう。 したがって onClipEvent(enterFrame) は単独で存在することができませんから, 必ずムービークリップが必要となります。 つまり結局,ムービークリップ内のループ処理を簡略化するためにできたのが onClipEvent(enterFrame) だと私は解釈しています。 ご質問からは,ムービークリップの状態や階層構造がよくわかりませんが, 無難に行くには,そのアルファを変える ムービークリップ の中に,新規でレイヤーを追加し, そのレイヤーに見えないような小さなムービークリップ(または空のムービークリップ)を作成し, その小さなムービークリップ内のフレームを3フレームにして フレーム1 には //../:_alpha=0; または _parent._alpha=0; フレーム2 には //../:_alpha += 10; または _parent._alpha += 10; フレーム3 には //if (../:_alpha>=100) { または if (_parent._alpha>=100) { stop(); } else { gotoAndPlay(2); } と書くと,うまく行くと思います。 見えないような小さなムービークリップ から見ると, アルファを変えたいムービークリップは親(_parent)ですよね。 携帯特有のスラッシュシンタックスによるパスの書き方で統一したい場合は, // の付いた注釈行のようにパスを書いてください。 stop(); で,無駄な処理を続けることも省けますから, 考えようによっては, ムービークリップ内ループの方が onClipEvent(enterFrame)  より扱いやすく便利な場合もあると思います。 MovieClip.onEnterFrame = function(){} にはかなわない気がしますが。 ====================================== 言語形態は今の ActionScript と全く違いますしムービークリップ内フレームループではなく,_root のループですが,考え方は同じですね↓。 FLASH4スクリプト ストップウォッチ http://fpower.org/old/f4timer.htm こちらも同じ↓。 Duplicate MovieClip http://fpower.org/old/f4duplicate.htm 面白い過渡期のサイトです。 Flash 5 で Flash 4 のスクリプトとサーバサイド言語を使ってカウンタを設置する方法が書いてあります。 Flash 5 をもって Flash 4 のアクションを駆使するというわけわからないことをしていますが, おそらくこれを書いた段階では Flash 5 以上の言語や可能性は知らなかった方が書かれたのでしょう。 でも,発想は同じですね↓。 Flash Counter Ver.1.01 http://dream.lib.net/room/cgi/e_fcount.html > if (eval("/:totalcount") eq ""){goto and play(2);} > こんな感じで。/:totalcount にデータが読み込まれるまでループです。

sdow
質問者

お礼

どうもご丁寧にありがとうございました。 単体では問題なく動作いたしました。 イメージを上記スクリプトでフェードアウトさせた後、別のイメージも同じ内容で表示させたいのですが、どうもうまくいきません。 フレーム3 stop(); の箇所に gotoAndPlay("シーン 1"2,); という風にシーン1の2フレーム目に同じ内容の別イメージを配置し、 飛ばしたいのですがうまくいきません。 記述の仕方もしくは、場所が違うのでしょうか? 以上ご返答のほどよろしくお願いいたします。

sdow
質問者

補足

指定先を _root.nextFrame(); にしたところ問題なく動きました。 自己解決できました。 お騒がせしてすみません。 この度はどうもありがとうございました。

関連するQ&A

  • Flashでボタンをクリックするとフェードイン、フェードアウトする

    アクションスクリプト初心者なのですが、 スクリプトで、ボタンをクリックすると 現在のフレームのムービークリップがフェードアウトしながら、 次のページのムービークリップがフェードインする方法を ご存知でしたら、教えていただけないでしょうか。 ムービークリップがロードしたら、 フェードインするところまでは出来たのですが、 それだと、現在のムービークリップがフェードアウトしないので 困っています。 ムービークリップがロードしたら、 フェードインするスクリプトは、 onClipEvent (load) { _alpha = 0; } onClipEvent (enterFrame) { _alpha += 2; } と記載しております。 どうぞよろしくお願いします。

    • ベストアンサー
    • Flash
  • フェードイン、フェードアウトの「オバーラップ」について

    flash初心者です。 AS2.0です。よろしくお願いいたします。 ボタンでムビークリップを切り替える時、 フェードイン、フェードアウトの「オバーラップ」に したいのですが。 (A_mcがフェードアウトする同じタイミングで B_mcがフェードインする) ムービークリップが大量にあるので ムービークリップそれぞれに同一のスクリプトで フェードイン、フェードアウトを設定して効率化 したいと考えています。 フェードインは onClipEvent (load) { this._alpha = 0; } onClipEvent (enterFrame) { if (this._alpha<100) { this._alpha += 2; } } のようなスクリプトで実現できたのですが フェードアウトがわかりません。 ※イメージの関係でフェードアウトがどうしても必要になりました。 onClipEvent (unload) { } のようなタイミングで制御できればと 考えているのですが 具体的にアドバイスいただると助かります よろしくお願いいたします。

  • ActionScriptで画像のフェードイン、フェードアウトのしかた。

    ActionScriptで画像のフェードイン、フェードアウトのしかた。 画像をフェードインして30秒後にフェードアウトするActionScriptをお教えください。初心者ですので詳しく教えていただけると助かります。

  • FlashMX フェードアウト

    以前、教えていただいた フェードインするスプリクト onClipEvent (load) { _alpha = 0; } onClipEvent (enterFrame) { _alpha += 1; } このあと、フェードアウトしたいのですが     どのようにしたらよいのか教えて下さい。 それと モーショントゥーインでの    フェードイン→フェードアウトのさせかたも            教えて下さい お願いします。 (FlashMX OS2000です)

    • ベストアンサー
    • Flash
  • スクリプトでサウンドのフェードイン、フェードアウト

    いつも、ありがとうございます。FLASH8です。 フレームスクリプトからのサウンドのフェードイン、フェードアウト制御についてお聞きします。 ナレーションがスタートしたらBGMをフェードアウト、ナレーションが終わったらBGMをフェードインさせたいのですが、見えないところにムービークリップを作ってムービークリップを読み込む度にサウンドレベルをプラス(マイナス)していき、それをフレームから変数を使って制御する方法で可能でしょうか?また、もっと良い方法があるでしょうか? よろしく、お願いします。

    • ベストアンサー
    • Flash
  • フェードインかフェードアウトどちらかしかできません><

    はじめまして。 FLASH勉強中の初心者なんですがカンタンなFLASHムービーを作ろうと思っています。 そこでモーショントゥィーンで作成しているのですが、タイトルあるとおり、ステージに読み込んだ画像をフェードインかフェードアウトどちらかしかできません・・・ できれば一つの画像がフェードインしてフェードアウトするようなムービーをつなぎ合わせて一つの作品を作りたいのですが、どうすればいいのでしょうか? 参考書を読んでもわからずコチラで質問させていただきました。 併せてこのようなことを説明されているサイトなどご存じでしたらどうか教えていただけないでしょうか?

  • サムネイルクリックで外部swfフェードイン&アウト

    Flash初心者です。 Flash MX 2004を使っています。 24枚のサムネイル画像をonClipEventで 3枚ずつの間隔で左右に移動するようにしています。 各サムネイル画像(ボタン)をクリックすると、 拡大画像(外部swf)がサムネイルにかぶさるように フェードインで表示され、 ムービークリップシンボル範囲内のどこをクリックしても フェードアウトで元の画面(サムネイル表示画面)にもどる。 他サムネイルをクリックしても同様の動作をする。 というふうにしたいのです。 サムネイルaの拡大swfであるAにはフェードインを施しました。 クリックすると閉じながらフェードアウトさせるには、 どのような方法があるのでしょうか。

  • Flashでフェードイン・フェードアウトが・・・

    Flash MX 2004 Proでフラッシュを製作しているのですが、 フェードインやフェードアウトをする方法が分かりません。 もし、分かる方がいましたら教えて下さい。

  • フェードイン・アウトについて

    アクションスクリプトを使用して、 ムービークリップをフェードインさせ 一定時間後にフェードアウトさせることは可能でしょうか? ご存知の方いらっしゃいましたら、 回答宜しくお願いします。 環境: Win XP FlashMX

  • Flash MX ActionScriptのEnterFrame

    Flash 初心者です。 クリップアクションの、 onClipEvent (enterFrame) { } がいまいちよくわかりません。 フレームが1フレームだけのルートのタイムラインに、 何の動きもないムービークリップオブジェクト(これも1フレームのみ)を1つ置いたとします。 そのムービークリップに、例えば、 onClipEvent (enterFrame) { _rotation+=20; } とアクションをつけたとします。 これを再生すると、回転し続けますよね。 これはルートのタイムラインが1フレームだけでも、 それがループしていると考えると、納得できるのですが、 1フレーム目に、this.stop();を記述しても、 回転し続けます。 enterframeとはどのように解釈すればいいのですか? ルートのタイムラインが再生される度に呼び出されるということでは ないのでしょうか? よろしくお願い致します。

専門家に質問してみよう