• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ロールオーバーで下の画像を表示させる)

ロールオーバーで下の画像を表示させる

このQ&Aのポイント
  • アクションスクリプトを使用して、ロールオーバー時に指定した領域だけ画像を表示させる方法を教えてください。
  • Flash CS3で作成したアクションスクリプトを使用して、ロールオーバー時に指定した領域だけ画像を表示させたいです。
  • mc0〜mc3にロールオーバーしたときに、フェードアウトしないで画像を表示させる方法を教えてください。

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

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

とりあえずは TransitionManager.start(this, {type:Fade, …略… と書かれている部分の this がダメです。 この場合ここで書いた this は「このタイムライン(階層)」という意味になります。 「このタイムライン(階層)」=「スクリプトを書いたタイムライン全体」 ですから,このタイムラインに置いた表示オブジェクトは全てフェードアウトしてしまいます。 その上さらに for文 までブン回してますし...。 for文 も要りません。 書かれているリスナー関数の冒頭ですが↓ function onrollOver(eventObj:Event):void { これで,ここの引数である変数 eventObj には,ロールオーバーイベントが入ります。 さらに eventObj.target や eventObj.currentTarget で そのイベントを受けたインスタンスの参照が取得できます。 ですからそれを使います。 というわけで,書き換え例です↓。 //---------------------------------------------- import fl.transitions.*; import fl.transitions.easing.*; mc0.addEventListener(MouseEvent.ROLL_OVER,onrollOver); mc1.addEventListener(MouseEvent.ROLL_OVER,onrollOver); mc2.addEventListener(MouseEvent.ROLL_OVER,onrollOver); mc3.addEventListener(MouseEvent.ROLL_OVER,onrollOver); function onrollOver(eventObj:Event):void { //ロールオーバーイベントを受けたインスタンスを取得 var target_mc:MovieClip = MovieClip(eventObj.currentTarget); //そのインスタンスをフェードアウト TransitionManager.start(target_mc, {type:Fade, direction:Transition.OUT, duration:2, easing:None.easeNone}); //そのインスタンスのイベントリスナーを削除 target_mc.removeEventListener(MouseEvent.ROLL_OVER,onrollOver); } //----------------------------------------------

x_izumin
質問者

お礼

ありがとうございます。 インスタンスの参照等を十分に勉強していきます。 今後もよろしくお願いします。

関連するQ&A