Цитата:
Сообщение от namespaces
Прелоадеры бывают внешние и внутренние. Если основная флешка тяжелая, лучше воспользоваться внешней.
Даже не знаю что тебе посоветовать, в сети столько примеров, готовые классы есть.
|
Внешний или внутренний, определяется поставленной задачей, а не размером флешки.
Вот FDшный:

Код AS3:
package
{
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.text.TextField;
import flash.utils.getDefinitionByName;
public class Preloader extends MovieClip
{
private var _progressField:TextField;
public function Preloader()
{
if (stage)
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
//stage.showDefaultContextMenu = false;
_progressField = new TextField();
_progressField.width = 40;
_progressField.height = 40;
_progressField.x = stage.stageWidth / 2 - 20;
_progressField.y = stage.stageHeight / 2 - 20;
addChild(_progressField);
}
addEventListener(Event.ENTER_FRAME, checkFrame);
loaderInfo.addEventListener(ProgressEvent.PROGRESS, progress);
loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
}
private function ioError(e:IOErrorEvent):void
{
trace(e.text);
}
private function progress(e:ProgressEvent):void
{
_progressField.text = Math.floor(100 / e.bytesTotal * e.bytesLoaded) + "%";
}
private function checkFrame(e:Event):void
{
if (currentFrame == totalFrames)
{
stop();
loadingFinished();
}
}
private function loadingFinished():void
{
removeEventListener(Event.ENTER_FRAME, checkFrame);
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progress);
loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioError);
removeChild(_progressField);
_progressField = null;
startup();
}
private function startup():void
{
var mainClass:Class = getDefinitionByName("Main") as Class;
addChild(new mainClass() as DisplayObject);
}
}
}

Код AS3:
[Frame(factoryClass="Preloader")]
public class Main extends Sprite {