Показать сообщение отдельно
Старый 10.12.2012, 18:16
spirit2 вне форума Посмотреть профиль Отправить личное сообщение для spirit2 Найти все сообщения от spirit2
  № 6  
Ответить с цитированием
spirit2

Регистрация: Dec 2009
Сообщений: 125
Убираете весь код с таймлайна.
В свойствах документа указывает класс Main.
Создаете *.as файл с именем Main, там же где ваш *.fla

Код AS3:
package {
	import flash.display.Sprite;
	import flash.events.Event;
 
	public class Main extends Sprite {
		private var _myClip:*;
 
		public function Main():void {
			if (stage) {
				init();
			} else {
				addEventListener(Event.ADDED_TO_STAGE, init);
			}
		}
 
		private function init(e:Event = null):void {
			removeEventListener(Event.ADDED_TO_STAGE, init);
 
			_myClip = new MyClip();
			addChild(_myClip);
			_myClip.x = 40;
 
			addEventListener(Event.ENTER_FRAME, moveDowm);
		}
 
		private function moveDowm(e:Event):void {
			_myClip.y += 0.5;
 
			//проверяем когда нам надоест движение и удаляем
			if (_myClip.y > 300) {
				removeEventListener(Event.ENTER_FRAME, moveDowm);
				removeChild(_myClip);
				_myClip = null;
 
				//допустим показываем другой клип из библиотеки, который содержит анимацию  на 100 кадров
				somethingElse();
			}
		}
 
		private function somethingElse():void {
			_myClip = new MyAnotherClip();
			addChild(_myClip);
			_myClip.addEventListener(Event.ENTER_FRAME, theEnd);
		}
 
		private function theEnd(e:Event):void {
			if(_myClip.currentFrame == 100){
				_myClip.removeEventListener(Event.ENTER_FRAME, theEnd);
				_myClip.gotoAndStop(100); //останавливаем на 100 кадре
			}
 
			//делаем что-нибудь еще
		}
 
	}
}
Может поможет.

С кодом на кадрах я вам не помогу, ибо не в курсе нюансов.
Вроде обычно создают отдельный "слой" и в первом кадре пишут весь код.