Мне нужно использовать flash as3 для создания игры, и я попытался использовать 3 слоя для загрузки моего SWF.Моя игра находится на третьем слое, а первый и второй слои - всего лишь сценарий предварительного загрузчика.
Моя проблема в том, что когда игра загружается на стадию первого слоя, моя функция KeyboardEvent
не работает, пока янажмите на сцену.
Я пытаюсь использовать Event.ADDED_TO_STAGE
, чтобы решить ее, но я также получаю ту же ошибку.
это мой код для preloader
var request:URLRequest = new URLRequest("game.swf");
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
function loadProgress(event:ProgressEvent):void
{
var percentLoaded:Number = event.bytesLoaded / event.bytesTotal;
percentLoaded = Math.round(percentLoaded * 100);
//this.percentLoaded.text = String(uint(percentLoaded)) + "%";
}
function loadComplete(event:Event):void
{
trace("Load Complete");
}
loader.load(request);
this.addChild(loader);
А это мой игровой сценарий на временной шкале
if(stage != null) {
stageAddHandler(null);
} else {
addEventListener(Event.ADDED_TO_STAGE, stageAddHandler);
}
function stageAddHandler(e:Event = null):void {
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);
stage.addEventListener(KeyboardEvent.KEY_UP,keyUpHandler);
}
Есть идеи по этому поводу?
Спасибо за продвижение