我有一个包含两个帧的FLA文件。在第一帧我只有一个文本字段和一些代码来进行预加载。完成预加载后,它会gotoAndStop(2)
在第1帧我有:
stop();
stage.scaleMode = StageScaleMode.SHOW_ALL;
//Import the required assets
import flash.display.*;
//Stop the playhead while loading occurs
this.stop();
//Create a listener to call the loading function as the movie loads;
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, PL_LOADING);
this.loaderInfo.addEventListener(Event.COMPLETE, PL_FINISH);
function PL_LOADING(event:ProgressEvent):void
{
var pcent:Number = event.bytesLoaded / event.bytesTotal * 100;
//Display the % loaded in textfield
txt.text = int(pcent) + "%";
//If the movie is fully loaded, kick to the next frame on the main timeline
}
function PL_FINISH(event:Event):void
{
removeChild(txt);
gotoAndStop(2);
}
在第2帧我什么都没有,除了:
var game:Game = new Game();
addChild(game);
在我的发布商设置中,我已导出到第2帧。
我的问题是预加载器直到100%才会显示。有谁知道为什么?
P.S。为了测试我在第2帧的舞台上放了一个大的图像文件,结果是一样的。
答案 0 :(得分:1)
如果您没有在为ActionScript导出的每个库符号中取消选择“导出第1帧”,通常会发生这种情况。
您需要确保创建对这些对象的引用(以便ActionScript可以访问它们),方法是将它们放在第2帧(不在视线范围内)的舞台上。
发生的事情是在加载预加载器之前加载了所有符号。
如果这不是问题,请provide some code,以便我更好地评估您的问题。
答案 1 :(得分:0)
你试过在第一帧上放一些静态的东西吗?仅仅因为有一个预加载器,这并不意味着你的swf会显示...
我知道我有一个swf曾经只需要花一点时间来实际让Flex预加载器因网络延迟而出现。可能是你的swf没有显示,直到它已经加载了90%。
答案 2 :(得分:0)