Създадох следния прелоадер, записан като „preloader.swf“, който зарежда външен SWF файл както следва:
var req:URLRequest = new URLRequest("main.swf");
var loader:Loader = new Loader();
loader.load(req);
loader.contentLoaderInfo.addEventListener(Event.OPEN, showPreloader);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, showContent);
var preloader:Preloader = new Preloader();
function showPreloader(event:Event):void
{
addChild(preloader);
preloader.x = (stage.stageWidth / 2) - (preloader.width / 2);
preloader.y = (stage.stageHeight / 2) - (preloader.height / 2);
}
function showProgress(event:ProgressEvent):void
{
var percent:Number = event.bytesLoaded / event.bytesTotal;
preloader.percentage.text = Math.round(percent * 100) + "%";
preloader.bar.width = 300 * percent;
}
function showContent(event:Event):void
{
removeChild(preloader);
addChild(loader);
}
Прочетох, за да се опитам да избегна събития PROGRESS и COMPLETE, защото тези събития не работят 100% от времето.
Сега въпросът ми е следният: има ли начин за това как мога да отида, за да имам същата функционалност на зареждане на външен SWF файл (както по-горе), но БЕЗ използване на PROGRESS и COMPLETE събития?
Ако е така, може ли някой да ми предложи какво кодиране да добавя / променя?
Благодаря.
Отговори:
0 за отговор № 1Дали сте опитали с таймер? Вие проверявате на всеки интервал дали SWF е заредена изцяло или не.
Въпреки това, PROGRESS и COMPLETE събития трябва винаги да работят. Какво не работи във вашия проект?