开发者

As3 Preloader (Blank until 100%)

I have an FLA file with two frames. On the first frame I have nothing but a textfield and some code to do the preloading. After it is done preloading it does gotoAndStop(2)

On frame 1 I have:

sto开发者_开发百科p();
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);
}

On frame 2 I have nothing except:

var game:Game = new Game();
addChild(game);

In my publisher settings I have export to frame 2.

My problem is that the preloader won't display until 100%. Does anyone know why?

P.S. For testing I put a large image file on the stage in frame 2 and the result is the same.


This normally happens if you haven't deselected "Export in frame 1" in each of the library symbols that you are exporting for ActionScript.

As3 Preloader (Blank until 100%)

You'll need to make sure that you create reference to these objects (so that ActionScript can access them) by placing them onto the stage in frame 2 (out of sight).

What's happening is that all of the symbols are being loaded before the preloader itself has loaded.

If this isn't the issue, then please provide some code so I can better assess your issue.


Have you tried putting something static on frame one? Just because there is a preloader, that doesn't mean that your swf will be displaying at all...

I know that I had one swf once which simply took a minute to actually get the Flex preloader to even show up because of network latency. It could be that your swf isn't displaying until 90% of it has already loaded.


I´m dealing with similar problems, and there is something i found out: my antivirus contains a kind of "browser protection" feature, which sort of checks all files in advance before it allows the browser to actually display them. If this antivirus feature has not been installed on the system, the preloader works beautifully. I´ve checked some other web-sites with flash content, and they also behave "wrong" under these circumstances. Now, some people seem to have found a way to stop the antivirus from messing around, but i don´t know how they do it... not yet...

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜