目前我有3个名称为 start_btn , about_btn 和 stats_btn 的按钮,这些按钮是movieClips。其中3个位于容器中(也是一个名为 group_btn 的movieClip。所以,我的问题是,当我只为所有3个鼠标使用一个MouseEventListener时,我如何告诉确切的元素更改其ScaleX和ScaleY。 我确实认为生病必须检测哪一个被点击但是之后,我不知道该怎么做。 所以到目前为止我有这个代码:
private function onAddedToStage(eve:Event):void {
trace("we are good to go");
this.group_btn.start_btn.addEventListener(MouseEvent.MOUSE_OVER, makeButtonBigger)
this.group_btn.start_btn.addEventListener(MouseEvent.MOUSE_OUT, makeButtonSmaller)
this.group_btn.about_btn.addEventListener(MouseEvent.MOUSE_OVER, makeButtonBigger)
this.group_btn.about_btn.addEventListener(MouseEvent.MOUSE_OUT, makeButtonSmaller)
this.group_btn.stats_btn.addEventListener(MouseEvent.MOUSE_OVER, makeButtonBigger)
this.group_btn.start_btn.addEventListener(MouseEvent.MOUSE_OUT, makeButtonSmaller)
}
private function makeButtonBigger(ev:MouseEvent):void{
var nameOfButton:String = ev.currentTarget.name;
//this.group_btn.nameOfButton.scaleX = 1.2 <--- doesnt work
trace(nameOfButton)
}
答案 0 :(得分:0)
您需要使用方括号访问该属性;你拥有它的方式意味着有一个字面上称为“nameOfButton”的按钮,这就是它失败的原因。请尝试以下方法:
private function makeButtonBigger(ev:MouseEvent):void{
var nameOfButton:String = ev.currentTarget.name;
this.group_btn[nameOfButton].scaleX = 1.2;
trace(nameOfButton);
}
那将使用实际捕获的字符串,而不是变量名称本身。
虽然,您也可以直接从事件的currentTarget
属性访问该按钮:
private function makeButtonBigger(ev:MouseEvent):void{
ev.currentTarget.scaleX = 1.2;
}