|
|
|||||
Регистрация: Feb 2010
Сообщений: 102
|
Проблема с созданием прелоадера
Вот начитался кучу стате где описывают следующую структуру: В первом кадре пишем прелоадер, во втором код самой флешки. Но что делать если у меня код описан не в кадре а в Классе. Я так и не разобрался как сделать прелоадер. Помогите пожалуйста.
|
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
в чем конкретно проблема?
|
|
|||||
Прелоадер в кадрах и в коде - разные стили.
Кодовый вариант давно реализован на FlashDevelop. Последний раз редактировалось FieryWall; 13.12.2011 в 18:47. |
|
|||||
Регистрация: Feb 2010
Сообщений: 102
|
Цитата:
? Не совсем понял как вообще запускается класс Preloader.as Последний раз редактировалось metsys; 13.12.2011 в 19:24. |
|
|||||
Как правило прелоадер сопровождается графической визуализацией, как линия загрузки или что нибуть похожое. Запускаеться класс прелоадер автоматически, главное класс Main.as сделать точкой входа в программу
|
|
|||||
Регистрация: Feb 2010
Сообщений: 102
|
Выглядит у меня всё примерно так:
[IMG]http://i28.***********/big/2011/1213/b3/f842b930473fc69b9587b190072a1bb3.jpg[/IMG] код SlideGalleryClass: package { import caurina.transitions.Tweener; import flash.display.DisplayObjectContainer; import flash.display.Loader; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.events.TimerEvent; import flash.geom.ColorTransform; import flash.net.URLRequest; import flash.net.navigateToURL; import flash.text.TextField; import flash.utils.Timer; import metsys.php.AMFPHP; public class SlideGalleryClass extends Sprite { //--metsys-- private var _amf:AMFPHP; //--CONST-- private static const SLIDE_DISTANCE:int=0; private static const STAGE_WIDTH:int=834; private static const CRUST_WIDTH:int=48; private static const SLIDE_HEIGHT:int=198; private static const NUMBER_OF_SLIDES:int=6; private static const TRANSITION:String="easeOutQuart"; private static const CHANGE_SLIDE_TIME:int=10; private static const STAGE_HEIGHT:int=198; //private static const CIRCLE_WIDTH:int=10; //--flash sprites-- private var _slide:Array=new Array(); private var _responds:Array=new Array(); //--vars-- private var _activeSlideIndex:int=5; private var timer:Timer=new Timer(CHANGE_SLIDE_TIME*1000, 1); private var _pageSliding:Boolean=false; public function SlideGalleryClass() { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); //здесь пишем запуск приложения //дальше идёт код проги Ну и класс прелоадера который вы мне скинули: 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.utils.getDefinitionByName; /** * ... * @author aaaa */ public class Preloader extends MovieClip { 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); // запустить прелоадер } private function ioError(e:IOErrorEvent):void { trace(e.text); } private function progress(e:ProgressEvent):void { var loaded:uint = e.target.bytesLoaded; var total:uint = e.target.bytesTotal; trace("me"); // loaded / total = [0...1] } 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); //уничтожить прелоадер startup();//замена главного класа } private function startup():void { var mainClass:Class = getDefinitionByName("SlideGalleryClass") as Class; addChild(new mainClass() as DisplayObject); } } } Что я делаю не так? |
|
|||||
В вашем случае документ классом должен быть Preloader.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ" Мои ачивки: художник-паразит. |
|
|||||
Регистрация: Feb 2010
Сообщений: 102
|
да пробовал. но тогда ругается флеш:
ReferenceError: Error #1065: Переменная SlideGalleryClass не определена. at global/flash.utils::getDefinitionByName() at Preloader/startup() at Preloader/loadingFinished() at Preloader/checkFrame() |
|
|||||
вам 2 разные флешки нужны, одна флешка - прелоадер, другая - собственно то что вы грузите. Если же хотите в один файл все закинуть - в 1м кадре поместите мувиклип/спрайт приатаченный к классу прелоадер, во 2-й пихаете все остальное
|
Часовой пояс GMT +4, время: 13:21. |
|
« Предыдущая тема | Следующая тема » |
|
|