Greelings stackoverflow成员,AS3单击后编辑event.target执行gotoAndPlay(“abc”);
我有3个动画movieclip嵌套在一个movieclip。我想要做的是获取点击的实例的名称,并编辑它应用gotoAndPlay。我可以得到的名字,但是当我尝试编辑它时,我得到错误:
符号'按钮MC',图层'操作',第1帧,第30行1061:调用可能未定义的方法gotoAndPlay通过一个带有静态类型String的引用。
这里是我到目前为止的代码:
[Bindable] var targetName:String;
var _userInput:String = new String();
_userInput = targetName;
//array for buttons
var btnArray:Array = [INS_Btn1, INS_Btn2, INS_Btn3];
//add eventlistiners
for(var i:uint=0; i<btnArray.length; i++) {
btnArray[i].addEventListener(MouseEvent.ROLL_OVER, bRollover);
btnArray[i].addEventListener(MouseEvent.ROLL_OUT, bOut);
btnArray[i].addEventListener(MouseEvent.CLICK, bClick);
btnArray[i].buttonMode=true;
}
//btn over state
function bRollover(event:MouseEvent):void{
event.target.gotoAndPlay("Over");
}
//btn out state
function bOut(event:MouseEvent):void{
event.target.gotoAndPlay("Out");
}
//btn click state
function bClick(event:MouseEvent):void{
targetName = event.target +("_ani")
targetName.gotoAndPlay("Active");
}
我想的是,MC点击应该去发挥onther MC的动画。最好我应该提到,我是AS3的初学者。
感谢您的回答,并且您认为是正确的。这清除了我的错误,为什么它没有工作。 :) – Bishop
更不用说,单击的对象可能不是按钮本身(可能是按钮内的文本),所以使用'event.currentTarget'。 –
这是一个很好的观点:) – Philarmon