我需要使用flash as3创建一个游戏,并且我试图使用3层来加载我的swf。我的游戏位于第三层,第一层和第二层只是一个预加载器脚本。为什么我的KeyboardEvent在我的游戏中不起作用?
我的问题是当游戏加载到第一层的阶段时我的KeyboardEvent
功能不工作,直到我按下舞台。
我尝试使用Event.ADDED_TO_STAGE
来解决它,但我也得到了同样的错误。
这是我的预加载
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);
}
在这个任何想法的游戏脚本代码?
感谢提前
尝试手动设置http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Stage.html#focus – www0z0k
出于安全原因,我不相信这是可能的瑞士法郎强迫自己集中注意力。 – TheDarkIn1978