问题:
有没有办法在不调用函数的情况下使用点击监听器?我昨天才开始采取行动脚本,所以请原谅我的问题看起来是否天真。
问题原因:
我希望在MouseEvent.OnClick发生时突破while循环。问题是当在Listener函数中使用一个函数时,它只会突破为自己定义的函数,而不是我陷入的while循环。
function PlayGame():Void {
while (true) {
OnAndOff.addEventListener(MouseEvent.CLICK):void{ //Removed the ,function part
PowerButton.Switch();
break;
}
}
}
答案 0 :(得分:0)
这不是最好的方法是在as3中使用无限循环,因为as3有单线程。这意味着当你开始无限循环时,应用程序将会冻结。 AS3具有基于事件的体系结构,因此任何用户交互都会调度某些事件。
如果您需要在用户点击OnAndOff时调用PowerButton.Switch()
,只需在事件处理程序中调用它:
OnAndOff.addEventListener(MouseEvent.CLICK, onOnAndOffClick); // somewhere on initialize
function onOnAndOffClick(event:MouseEvent):void {
PowerButton.Switch();
}
如果你需要使用类似于无限循环的方法,你可以使用ENTER_FRAME事件:
stage.addEventListener(Event.ENTER_FRAME, someFunction);
function someFunction(event:Event):void { // this function will be called automatically on each frame
// some code...
}