ActionScript3:Tweenをfor文で割り当てられないのか
ActionScript3:Tweenをfor文で割り当てられないのか?
AS3でaddChildでMovieClipを複数置いてTweenをfor文で割り当てるということをやろうとしているのですが、どうしても順番で最後のMovieClipしか動きません。
以下のようにコーディングしてボタンを5個を並べてマウスオーバーするとTweenアニメで動き、またアウトするとTweenアニメで元の位置に戻るというものを作りたいのですが、5番目のボタンしか動きません。Tweenはfor文で割り当てられないのでしょうか?
//クラスのインポート
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
import fl.transitions.easing.*;
//ボタン配置
for (var i:uint=1; i<6; i++) {
var BtnName:String="btn0"+i;
var BtnNumber:Class=getDefinitionByName(BtnName) as Class;
var Btn:MovieClip = new BtnNumber();
addChild(Btn);
Btn.x=10+Btn.width/2+(Btn.width+10)*(i-1);
Btn.y=46+Btn.height/2;
Btn.buttonMode=true;
Btn.id=i; ←idというプロパティを付けてもダメでした
Btn.addEventListener(MouseEvent.ROLL_OVER, RollOverEv);
Btn.addEventListener(MouseEvent.ROLL_OUT, RollOutEv);
function RollOverEv(eventObject:MouseEvent):void {
BtnTween01=new Tween(Btn,"y",None.easeNone,Bottom,Top,MovSpd,true);
↑このBtnがi=5としか認識してないようです。
if (BtnTween02.isPlaying) {
BtnTween01=new Tween(Btn,"y",None.easeNone,BtnTween02.position,Top,MovSpd,true);
↑このBtnがi=5としか認識してないようです。
}
}
function RollOutEv(eventObject:MouseEvent):void {
BtnTween02=new Tween(Btn,"y",None.easeNone,Top,Bottom,MovSpd,true);
↑このBtnがi=5としか認識してないようです。
if (BtnTween01.isPlaying) {
BtnTween02=new Tween(Btn,"y",None.easeNone,BtnTween01.position,Bottom,MovSpd,true);
↑このBtnがi=5としか認識してないようです。
}
}
}
//変数色々設定
var BtnTween01:Tween;
var BtnTween02:Tween;
var Top:uint=Btn.height/2+5;
var Bottom:uint=Btn.height/2+46;
var MovSpd:Number=0.2;
■環境:ActionScript3、Flashサイズ:w;280xh:100