Показать сообщение отдельно
Старый 28.11.2010, 15:53
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 10  
Ответить с цитированием
goodguy
Banned

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Сообщение от romsvm Посмотреть сообщение
а в классе FunnyWar есть такая строчка перед объявлением класса?
Код AS3:
[Frame(factoryClass="Preloader")]
более подробно тут можно почитать
Изначально не было.
Почитал эту статью, сделал загрузчик как там описано:
Код AS3:
package
{
	import flash.display.DisplayObject;
	import flash.display.MovieClip;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.utils.getDefinitionByName;
 
	public class FDPreloader extends MovieClip
	{
		public function FDPreloader()
		{
			stop();
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
			addEventListener(Event.ENTER_FRAME, enterFrame);
		}
 
			public function enterFrame(event:Event):void
			{
				trace(totalFrames);
				if(framesLoaded == totalFrames)
				{
					removeEventListener(Event.ENTER_FRAME, enterFrame);
					nextFrame();
					init();
				}
				else
				{
					var percent:Number = root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal;
				}
			}
			private function init():void
			{
				var mainClass:Class = Class(getDefinitionByName("FunnyWar"));
				if(mainClass)
				{
					var app:Object = new mainClass();
					addChild(app as DisplayObject);
				}
			}
		}
	}
В классе FunnyWar тоже добавил строчку:
Код AS3:
[Frame(factoryClass="FDPreloader")]
public function FunnyWar():void 
{
	if (stage) initialize();
	else this.addEventListener(Event.ADDED_TO_STAGE, initialize, false, 0, true);		
}
Результат: 0.
В статье написано, что тег Frame вынуждает компилятор создать 2 кадра, в персом работает загрузчик, во втором, начинает грузиться отстальное. Как можно заметить, в коде я добавил строчку:
Код AS3:
trace(totalFrames);
Если верить этой статье, то кадров должно быть уже 2, но трейс выдает 1.
В чем подвох?

Цитата:
Давно не компилил во Флэше, но вроде там надо галочку "грузить в первый кадр" снять со всех объектов в библиотеке (кроме тех что относятся к прелоадеру конечно).
Убрал. Напрочь убивает приложение.

Цитата:
Угу, а потом во 2 кадр положить все эти объекты. Инициализировать всё в 3. Ужас. короче )
У меня в кадрах вообще ничего не инициализируется