@Vimake

Почему не работает прелоадер на AS?

Есть код прелоадера.

stop();
    var load_info:TextField = new TextField();
	load_info.text =  "Загрузка...";
	load_info.x=318,95;
	load_info.y=476,25;	
	addChild(load_info);
	var tfNameFormat:TextFormat = new TextFormat();
    tfNameFormat.size = 14;
    tfNameFormat.color = 0xffffff;
	load_info.setTextFormat(tfNameFormat);
	
addEventListener(Event.ENTER_FRAME, loadF);

function loadF(e:Event):void{
var TLoad:Number = loaderInfo.bytesTotal;
var loaded:Number = loaderInfo.bytesLoaded;
var total:Number = loaded/TLoad;
if(loaded == TLoad){
removeEventListener(Event.ENTER_FRAME, loadF);

} else {
load_info.text = Math.floor(total*100) + " %";
	addChild(load_info);
}
}


Не работает (текст не записывается)
load_info.text = Math.floor(total*100) + " %";
	addChild(load_info);
  • Вопрос задан
  • 2912 просмотров
Пригласить эксперта
Ответы на вопрос 2
alexvoz
@alexvoz
Flash-developer
почему addChild(load_info); в хендлере? этот код срабатывает каждый фрейм
Нужно протрейсить
stop();
var load_info:TextField = new TextField();
load_info.text =  "Загрузка...";
load_info.x=318,95; //зачем дробные части?
load_info.y=476,25; //зачем дробные части?
var tfNameFormat:TextFormat = new TextFormat();
tfNameFormat.size = 14;
tfNameFormat.color = 0xffffff;
load_info.setTextFormat(tfNameFormat);
addChild(load_info);
addEventListener(Event.ENTER_FRAME, loadF);

function loadF(e:Event):void{
    var TLoad:Number = loaderInfo.bytesTotal;
    var loaded:Number = loaderInfo.bytesLoaded;
    var total:Number = loaded/TLoad;
    if (loaded == TLoad) {
        removeEventListener(Event.ENTER_FRAME, loadF);
    } else {
        load_info.text = Math.floor(total*100) + " %";
        trace(load_info.text, (Math.floor(total*100) + " %"))
    }
}

А вообще очень мало информации. Этот прелоадер в отдельном классе или на таймлайне? Какая IDE используется и т.д.
Ответ написан
@EjIlay
Если этот код в самом прелоадере, который как отдельный класс, то он уже загружен и его лоадерИнфо уже 100% на месте.

Кроме того, нужно проверить, не является ли textField статичным. Если его положили во Flash IDE, то у него в свойствах есть выпадающий список в котором нужно выбрать dynamic text
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы