【发布时间】:2011-01-05 07:01:21
【问题描述】:
我在Flash操作脚本中制作了一个Boardgame。电路板上的每个位置是如下按钮:Button_1_1,Button_1_2等。只要选择一个字符,您想移动它,所以脚本必须为位置添加活动侦听器围绕所选单位
// This function adds or deletes an event listener
function listentoButton (isTrue:int, position_x:int, position_y:int):void {
var myFunction:Function = new Function;
myFunction = function ():void {userClickedPosition(position_x, position_y)};
if (isTrue == 1) {
this["button_position_"+(position_x)+"_"+(position_y)].addEventListener(MouseEvent.CLICK, myFunction);
} else {
this["button_position_"+(position_x)+"_"+(position_y)].removeEventListener(MouseEvent.CLICK, myFunction);
}
}
在我剩下的代码中:
函数 userClickedPosition(position_x:int, position_y:int)
它选择或取消选择一个单位函数 selectUnit(position_x:int, position_y:int):
它使用listentoButton(1)函数添加8个监听器(点击单元周围的位置)函数取消选择单元(position_x:int, position_y:int):
它使用listentoButton(0)函数删除8个监听器(点击单元周围的位置)
我的问题: 添加事件监听器没问题,但删除它们似乎不起作用?我做错了什么?
【问题讨论】:
标签: actionscript-3 dynamic variables event-listener