BytesTotal из loaderInfo загрузчика будет возвращать 0, пока загрузчик не запустит свое первое progress
событие. Есть ли причина, по которой вы хотите использовать enterFrame таким образом, а не событие progress?
Пример простого события прогресса:
var mapLoader : Loader = new Loader();
var mapLoaderInfoLoad:Number;
var mapLoaderInfoTotal:Number;
public function engine()
{
mapLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler );
mapLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
mapLoader.load( new URLRequest( "Mapcontrol.swf" ) );
}
private function progressHandler(evt:ProgressEvent):void
{
mapLoaderInfoLoad = evt.bytesLoaded;
mapLoaderInfoTotal = evt.bytesTotal;
trace(mapLoaderInfoLoad);
trace(mapLoaderInfoTotal);
}
Введите кадр
Конечно, у вас может быть причина использовать событие enterFrame. Вы все еще можете сделать это, как в вашем примере, но позвольте progressHandler из моего примера заполнить ваши переменные; или подождите, пока не будет запущено первое событие progress, затем удалите прослушиватель события progress и добавьте вместо него свой обработчик enterFrame. Пока вы не пытаетесь прочитать mapLoader.loaderInfo.bytesTotal
до того, как будет запущено первое событие прогресса, вы должны быть в порядке.