Приветствую. Не могу понять в чем проблема.. Всегда во FlashDevelope делал как вот тут описано:
http://www.onegiantmedia.com/compili...-flash-library
и все было хорошо. прелоадилось как надо.
но последний проект почему то глючит. все сделано идентично, но почему то прелоадер показывает 0, через какое то время сразу 100. я догадываюсь что вся шняга почему то суется в первый фрейм, но почему не понимаю. во флеше все экпортится во 2 фрейм, в SWC. на таймлайне вообще нет ничего. у всех объектов у которых стоит галка export for actionscript, галка export in frame снята вообще.
в девелопе все стандартно. в Preloader.as ничего из SWC не добавляется.
вот класс

Код AS3:
package
{
import flash.display.Bitmap;
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.utils.getDefinitionByName;
/**
* ...
* @author Greenish
*/
public class Preloader extends MovieClip
{
private var txt:TextField;
public function Preloader()
{
addEventListener(Event.ENTER_FRAME, checkFrame);
// show loader
txt = new TextField();
txt.textColor = 0x022467;
txt.selectable = false;
txt.width = 640;
txt.text = "0%";
txt.autoSize = TextFieldAutoSize.CENTER;
txt.y = 140;
addChild(txt);
loaderInfo.addEventListener(ProgressEvent.PROGRESS, progress);
}
private function progress(e:ProgressEvent):void
{
// update loader
txt.text = (Math.round(e.bytesLoaded / e.bytesTotal)*100).toString() + "%";
}
private function checkFrame(e:Event):void
{
if (currentFrame == totalFrames)
{
removeEventListener(Event.ENTER_FRAME, checkFrame);
startup();
}
}
private function startup():void
{
// hide loader
removeChild(txt);
stop();
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progress);
var mainClass:Class = getDefinitionByName("Main") as Class;
addChild(new mainClass() as DisplayObject);
}
}
}
что же такое может быть?
спасибо.