I made a preloader for one of my games, but it only appears when the swf is 90% loaded. I have three frame in my game, on frame 1, I have this code (the code for the preloader, plus some extra):
ActionScript Code:
stop();
//-----setup custom context menu before preloader-----\\
var menuItem1:ContextMenuItem = new ContextMenuItem("Noob Cube v1.0",false,false,true);
var menuItem2:ContextMenuItem = new ContextMenuItem("Quality:",true,false,true);
var menuItem3:ContextMenuItem = new ContextMenuItem("Low",false,true,true);
var menuItem4:ContextMenuItem = new ContextMenuItem("High",false,true,true);
menuItem3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, qLow);
menuItem4.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, qHigh);
var customContextMenu:ContextMenu = new ContextMenu();
customContextMenu.hideBuiltInItems();
customContextMenu.customItems.push(menuItem1);
customContextMenu.customItems.push(menuItem2);
customContextMenu.customItems.push(menuItem3);
customContextMenu.customItems.push(menuItem4);
this.contextMenu = customContextMenu;
function qLow(event:ContextMenuEvent):void {
//set low quality
stage.quality = StageQuality.LOW;
}
function qHigh(event:ContextMenuEvent):void {
//set high quality
stage.quality = StageQuality.HIGH;
}
//-----/setup custom context menu before preloader-----\\
//-----setup prelaoder-----\\
loadedBar.mask = loadedBarMask;
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
this.loaderInfo.addEventListener(Event.COMPLETE, onComplete);
function onProgress(e:ProgressEvent):void
{
var loaded:Number = e.target.bytesLoaded;
var total:Number = e.target.bytesTotal;
var pct:Number = loaded/total;
myLoadText.text = Math.round(pct * 100) + "%";
loadedBarMask.width = pct * 2;
}
function onComplete(e:Event):void
{
nextFrame();
}
//-----/setup prelaoder-----\\
The size of the swf is 102 KB, with a frame rate of 120 FPS, I also set the load order to Top Down. Any help is appreciated, thanks in advance!