Actionscript 3 预加载程序的奇怪问题
我的预加载程序有问题 预加载程序代码:Actionscript 3 预加载程序的奇怪问题,actionscript-3,flash,flash-cs5,Actionscript 3,Flash,Flash Cs5,我的预加载程序有问题 预加载程序代码: import flash.net.URLRequest; import flash.display.Loader; import flash.events.Event; import flash.events.ProgressEvent; var game:MovieClip var added:Boolean; var mLoader:Loader = new Loader(); var mRequest:URLRequest = new URLRe
import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;
var game:MovieClip
var added:Boolean;
var mLoader:Loader = new Loader();
var mRequest:URLRequest = new URLRequest("source.swf");
mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
mLoader.load(mRequest);
function onCompleteHandler(e:Event):void {
game = e.currentTarget.content
game.alpha = 0;
}
function onProgressHandler(e:ProgressEvent):void {
loader.loadBar.setProgress(e.bytesLoaded, e.bytesTotal);
}
addEventListener(Event.ENTER_FRAME, function(e:Event):void {
if(game != null){
if(!added) {
addChild(game);
added = true;
}
if(game.alpha < 1) game.alpha += 0.1;
当我在这段代码之间得到注释/**/时,游戏加载正确。
顺便说一句,我试试这个。父母和父母。而不是舞台。但一切都没有改变:(
有人知道这个问题吗?你需要在使用前检查一下舞台
if (stage) {
addStageEvent();
} else {
this.addEventListener(Event.ADDED_TO_STAGE, addStageEvent);
}
function addStageEvent(e:Event = null):void {
//put the 141-155 line code here
}
非常感谢:)它很有效!但为什么会这样?在此之前,我从未使用此事件。当displayobject添加到stage时会触发此事件,然后设置displayobject的stage值。因此,在将预加载程序添加到stage之前,stage值为null,这是什么导致了错误。
if (stage) {
addStageEvent();
} else {
this.addEventListener(Event.ADDED_TO_STAGE, addStageEvent);
}
function addStageEvent(e:Event = null):void {
//put the 141-155 line code here
}