- 締切済み
ロールオーバーで下画像を表示させる
ステージを400x400として写真をおきます。 その上に100x100のmcを重ねます。マウスのロールオーバーで次々に画像が現れ 最終的に1枚の写真として見えるようにしたいです。 今はmcが1つですが、これを16個配置したいと思います。 その方法を教えてください。 FLASH CS3 AS2.0で制作しています。 import mx.transitions.*; import mx.transitions.easing.*; my_mc1.onRollOver = function() { TransitionManager.start(my_mc1, {type:Fade, direction:Transition.OUT, duration:2, easing:None.easeNone}); }
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
> 今はmcが1つですが、これを16個配置したいと思います。 > その方法を教えてください。 って,配置方法からですか? よくわからないのでそういうこととします。 まずその1つある 100×100px のムービークリップですが そのムービークリップは基準点(+印)が左上に来るように作成します。 そして,「my_mc1」では少しネーミングがよろしくないので(計算の簡略化の都合上よろしくないだけです), 「my_mc1」ではなく「mc0」というインスタンス名を付けることとします(大切な部分は右の番号を0にするということ)。 それでその「mc0」は 400×400のステージの左上コーナーに配置しているものとします(【図】↓参照)。 その場合 その写真や「mc0」が存在するフレームには次のように書けば良いと思います。 //------------------------------------- import mx.transitions.*; import mx.transitions.easing.*; //変数 i を 0~15 まで 1 ずつ加算しながらループ for (var i:Number = 0; i<=15; i++) { //もし i が 0 以外であれば if (i != 0) { //「mc0」 を 「mc○」 という名で 深度 ○ に複製 mc0.duplicateMovieClip("mc"+i, i); //「mc○」のx座標を (i を 4 で割った余り)×100 に配置 this["mc"+i]._x = i%4*100; //「mc○」のy座標を (i を 4 で割った数の整数部分)×100 に配置 this["mc"+i]._y = Math.floor(i/4)*100; } //「mc0」 ~ 「mc15」ロールオーバー時の動作定義 this["mc"+i].onRollOver = function() { //フェードアウト TransitionManager.start(this, {type:Fade, direction:Transition.OUT, duration:2, easing:None.easeNone}); //このonRollOverイベントリスナーを削除(複数回実行阻止) delete this.onRollOver; }; } //------------------------------------- もし 16個のMC はすでに手動で配置してあって 「mc0」~「mc15」までのインスタンス名も手動で付けたという場合は これだけ↓で良いです。 //------------------------------------- import mx.transitions.*; import mx.transitions.easing.*; //変数 i を 0~15 まで 1 ずつ加算しながらループ for (var i:Number = 0; i<=15; i++) { //「mc0」 ~ 「mc15」ロールオーバー時の動作定義 this["mc"+i].onRollOver = function() { //フェードアウト TransitionManager.start(this, {type:Fade, direction:Transition.OUT, duration:2, easing:None.easeNone}); //このonRollOverイベントリスナーを削除(複数回実行阻止) delete this.onRollOver; }; } //-------------------------------------
お礼
いつもお世話になります。 > 今はmcが1つですが、これを16個配置したいと思います。 > その方法を教えてください。 って,配置方法からですか? よくわからないのでそういうこととします。 舌足らずでごめんなさい。配置はわかっていました。「その方法」というのはアクションスクリプトでどのように書くのか?ということでした。 ありがとうございました。