Показать сообщение отдельно
Старый 07.07.2008, 16:26
Tfp вне форума Посмотреть профиль Отправить личное сообщение для Tfp Найти все сообщения от Tfp
  № 9  
Ответить с цитированием
Tfp
 
Аватар для Tfp

Регистрация: May 2008
Сообщений: 161
вот тоже решыл сделать прелоадер правда когда игра жуе была почти полностью готова) почитал статью все чики пуки...вот только не пойму зачем заменять документ клас? весь етот код отлично добавляетья в первый кадр мувика, а в документ класе просто добавляем пару строк чтоб скрипт инициализации срабатывал в третьем кадре..
все свелось к такому коду в первом кадре
Код:
import flash.events.ProgressEvent;
import flash.events.Event;
loaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);
loaderInfo.addEventListener(Event.COMPLETE, loadComplete);
Bar.scaleX = 0;
function loadProgress(e:ProgressEvent):void {
	var pct:Number = loaderInfo.bytesLoaded/loaderInfo.bytesTotal;
	Bar.scaleX = pct;
}
function loadComplete(e:Event):void {
	loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loadProgress)
	loaderInfo.removeEventListener(Event.COMPLETE, loadComplete);
	 play();
}
кода заметно меньше..ну и соответсвенно в третьем кадре stop(), а вод что добавил в док класе
Код:
		public function MainClass() {код заменяем листенером
			addEventListener(Event.ENTER_FRAME,init);
		}
		public function init(evt) {
			if (currentFrame==3) {а сюда пихаем изначальный код конструктора
removeEventListener(Event.ENTER_FRAME,init);}
                      }
и опять же зачем юзать
Код:
pBar = getChildByName("Bar") as Sprite;
если доступ к инстанции класса на стейдже доступен напряму через имя? а getChild необходим для динамически созданных обьектов, ну и если имя составное =)


Последний раз редактировалось Tfp; 07.07.2008 в 19:19.