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

Регистрация: Aug 2011
Сообщений: 65
Question Остановка всей анимации(ускорение работы флешки)

Всем добрый день, есть флешка и в ней куча анимации в ней все движется и вертится.
Есть два вопроса:
1. Есть ли какой то способ оптимизации флешки, точнее ее анимации? Возможно ли какое то кэширование графики для ускорения или что то другое?
2. Есть функция остановки всей анимации, описанная ниже. Она что то отказывается работать, в качестве входной переменной передаю stage. Проблема в том, что есть классы которые много раз перенаследуются и функция getQualifiedSuperclassName не помогает, что можете посоветовать?
Код AS3:
public static function stopAllAnimation(dObj:*):void
		{
			if (getQualifiedSuperclassName(dObj) == 'flash.display::MovieClip'
			 || getQualifiedSuperclassName(dObj) == 'flash.display::Sprite'
			 || getQualifiedSuperclassName(dObj) == 'flash.display::DisplayObjectContainer'
			 || getQualifiedClassName(dObj) == 'flash.display::MovieClip'
			 || getQualifiedClassName(dObj) == 'flash.display::Sprite'
			 || getQualifiedClassName(dObj) == 'flash.display::DisplayObjectContainer')
			{
				if (getQualifiedClassName(dObj) == 'flash.display::MovieClip'
				 || getQualifiedSuperclassName(dObj) == 'flash.display::MovieClip')
				{
					MovieClip(dObj).gotoAndStop(0);
				}
				for (var i:uint = 0; i < DisplayObjectContainer(dObj).numChildren; i++)
					stopAllAnimation(DisplayObjectContainer(dObj).getChildAt(i));
			}
		}
Заранее всем спасибо!