Показать сообщение отдельно
Старый 20.06.2010, 23:48
catcat вне форума Посмотреть профиль Отправить личное сообщение для catcat Найти все сообщения от catcat
  № 1  
Ответить с цитированием
catcat

Регистрация: Mar 2010
Сообщений: 93
По умолчанию Не срабатывает Event.COMPLETE в прелоадере

Код AS3:
gameLoader = new Loader();
			gameLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, showGameLoadProgress, false, 0, true);
			gameLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onGameLoadComplete, false, 0, true);
			gameLoader.load(new URLRequest(GAME_URL));
Когда игра полностью загружается (процесс загрузки виден), то перехода к игре не происходит. До этого вызывается сл. функция:
Код AS3:
obj['prop1'] = SomeFns.fn1(2)
SomeFns - класс, fn1 - public static method это класса, выглядит он довольно просто:

Код AS3:
public static function fn1(id:int)
switch(id)
			{
				case 1:
					return new String("one");
				case 2:
					return new String("two");
				case 3:
					return new String("three");
                        }
return new String("something else");
}
Причем если написать точно такую же функцию (без разницы - статическую или нет) в предзагрузчике, а не в классе SomeFns, то переход происходит...
В чем может быть дело? В данном случае я даже не вижу взаимосвязи между fn1 и onGameLoadComplete, кстати вот ее код (если использовать SomeFns.fn1, то она даже не вызывается):
Код AS3:
private function onGameLoadComplete(event:Event):void
		{
			while (numChildren != 0)
				removeChildAt(0);
 
			// Добавление игры на сцену
			addChild(gameLoader);
		}