Всем привет. Столкнулся с такой проблемой. После распаковки текстур, они забиваются в текстурные аталсы, через for each
Код AS3:
countLoaded = 0;
for each(var resource_data:DResource in Assets.resources)
{
var texture:Texture = Texture.fromBitmapData(resource_data.bmpd);
var texture_atlas:TextureAtlas = new TextureAtlas(texture, resource_data.xml);
_asset.addTextureAtlas(resource_data.name, texture_atlas);
_core.t_preloader.update(countLoaded, max_count_fin);//Вот тут проблема.
countLoaded++;
}
Функция изменения прогресс-бара
Код AS3:
public function update(min:int,max:int):void
{
var percent:Number = min / max;
bg_mask.scaleX = percent;
txt_progress.text = int(percent * 100) + "%";
}
Дело в том, что вывод % происходит только после того, как все ресурсы забьются в атласы. В конечном итоге он с 0% сразу пишет 100%. Такое чувство, что рендер не успевает обработать строку. Я пробовал добавить ожидание, после каждого обновления
Код AS3:
public function update(min:int,max:int):void
{
var percent:Number = min / max;
bg_mask.scaleX = percent;
txt_progress.text = int(percent * 100) + "%";
LUtil.sleep(1000);
}
Но это тоже не сработало. Текстовое поле и маска обновляется только в конце цикла. Как исправить эту проблему, кто знает?