我正在使用FlashDevelop创建我的第一个AS3程序,但我不理解构造函数中的指令含义:
package
{
import flash.display.Sprite;
import flash.events.Event;
public class Main extends Sprite
{
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
}
}
}
if (stage) init();
这句话是什么意思?Event.ADDED_TO_STAGE 是什么?为什么要在 init()
中移除监听器?
init
:如果你已经在“stage”上,立即调用它。如果你不在,“hook up”一个监听器,监听当你被放置在“stage”上时触发的事件(然后在调用时删除它)。 - T.J. Crowder