|
|
|||||
1. Лезете в настройки проекта http://*************/s/1oIsN и указываете export classes in frame 2.
2. Создаете пустой мувик и указываете ему в качестве класса ваш мейн-класс. То есть SlideGalleryClass. http://*************/s/1oIuc не забывая поставить галочку export in frame 2 3. Лезем на таймлайн и создаем там второй кадр. Рисовать не обязательно ни в первом ни во втором. Просто они должны быть. http://*************/s/1oIvT -- как видите, пусто. 4. Добавляем переход во второй кадр в хендлере комплита загрузки. Вот так: private function startup():void{ gotoAndStop(2); var mainClass:Class = getDefinitionByName("SlideGalleryClass") as Class; addChild(new mainClass() as DisplayObject); } Код прелоадера в примере прост: package { import flash.display.MovieClip; import flash.utils.getDefinitionByName; import flash.display.DisplayObject; import flash.events.Event; import flash.text.TextField; import flash.events.ProgressEvent; public class Preloader extends MovieClip { private var _textField:TextField = new TextField(); public function Preloader() { addChild(_textField); loaderInfo.addEventListener(Event.COMPLETE, completeHandler); loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); } private function progressHandler(event : ProgressEvent):void { _textField.text = String(int(100*loaderInfo.bytesLoaded / loaderInfo.bytesTotal)); } private function completeHandler(event : Event):void { gotoAndStop(2); var mainClass:Class = getDefinitionByName("Main") as Class; var main : DisplayObject = new mainClass(); addChild(main); } } } http://imageshost.ru/photo/66527/id1140020.html Вот как-то так можно, если не хотите переходить на более подходящие для кода среды разработки.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ" Мои ачивки: художник-паразит. Последний раз редактировалось ChuwY; 20.12.2011 в 15:29. |
|
|||||
Цитата:
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.text.TextFieldAutoSize; import flash.text.TextFormat; import flash.utils.getDefinitionByName; [SWF(width = 800, height = 700, backgroundColor="#FFFFFF")] public class Preloader extends MovieClip { private var _tf:TextField; public function Preloader() { if (stage) { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; } addEventListener(Event.ENTER_FRAME, checkFrame); loaderInfo.addEventListener(ProgressEvent.PROGRESS, progress); loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError); // TODO show loader _tf = new TextField(); _tf.defaultTextFormat = new TextFormat("Tahoma", 20, 0x8A9B4A); _tf.autoSize = TextFieldAutoSize.LEFT; _tf.text = "0%"; _tf.x = (Config.WIDTH - _tf.width)/2; //350; _tf.y = (Config.HEIGHT - _tf.height)/2;//325; addChild(_tf); } private function ioError(e:IOErrorEvent):void { trace(e.text); } private function progress(e:ProgressEvent):void { // TODO update loader _tf.text = int((e.bytesLoaded/e.bytesTotal)*100) + "%"; _tf.x = (Config.WIDTH - _tf.width)/2; //350; _tf.y = (Config.HEIGHT - _tf.height)/2;//325; } 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); // TODO hide loader removeChild(_tf); _tf = null; startup(); } private function startup():void { var mainClass:Class = getDefinitionByName("MyMainClass") as Class; addChild(new mainClass() as DisplayObject); } } } package { import flash.display.Sprite; [Frame(factoryClass="Preloader")] public class MyMainClass extends Sprite { } } Все дело в волшебном метатеге [Frame(factoryClass="Preloader")]
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
Часовой пояс GMT +4, время: 10:24. |
|
« Предыдущая тема | Следующая тема » |
|
|