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

Регистрация: Mar 2013
Сообщений: 2
По умолчанию код на кнопку для запуска анимации на таймлайне

добрый день, прошу прощения, когда то имел дело с AS2 а тут столкнулся с AS3 и оказалось сооовсем другое...
Итак
есть листалка и загружаемые в нее элементы из вспомогательного файла elements.swf (а именно кнопка Help, при ее нажатии появляется подсказка (мувик Hint)). этот элемент (Help) управляется кодом в файле Help.as
Происходит так, что мувик подсказки (Hint) загружается изначально в листалку и покадровая анимация на его таймлайне постоянно крутиться с момента загрузки становясь видимой при нажатии кнопки Help
Пожалуйста, подскажите код чтобы анимация на таймлайне мувика подсказки воспроизводилась (стартовала)только при нажатии на кнопку Help, то есть когда становилась видимой и соответственно прекращалось воспроизведение, когда скрывалась.
я пробовал как в AS2 сделать первым кадр в подсказке (мувике Hint) пустым с кодом stop() и начинать анимацию со второго кадра а к кнопке прицепить что-то вроде GoToAndPlay(2)но это в AS3 не работает.
большое спасибо

ниже содержимое Help.as

Код AS1/AS2:
package  
{
	import flash.display.DisplayObject;
	import flash.display.MovieClip;
	import flash.display.SimpleButton;
	import flash.display.Sprite;
	import flash.display.Stage;
	import flash.events.Event;
	import flash.events.MouseEvent;
 
	public class Help extends Sprite 
	{
		private var stg: Stage;
		private var btnHelp: SimpleButton;
		private var hint: MovieClip;
		private var hinted: Boolean = false;
 
		public function Help(_stg: Stage)
		{
			stg = _stg;
			stg.addEventListener(Event.RESIZE, onStgResize);
 
			[Embed(source = '../lib/elements.swf', symbol = 'Help')]
			var HelpClass: Class;
			btnHelp = new HelpClass();
			this.addChild(btnHelp);
			btnHelp.addEventListener(MouseEvent.CLICK, onHelpClick);
 
			[Embed(source = '../lib/elements.swf', symbol = 'Hint')]
			var HintClass: Class;
			hint = new HintClass() as MovieClip;
			//ShowHint();
			hint.addEventListener(MouseEvent.CLICK, onHelpClick);
 
			this.x = stg.stageWidth - btnHelp.width - 100;
			this.y = 300;
		}
 
		private function ShowHint(): void
		{
			if (hinted)
				stg.removeChild(hint);
			else
			{
				hint.x = stg.stageWidth - hint.width - 210;
				hint.y = 380;
				stg.addChild(hint);
			}
 
			hinted = !hinted;
		}
 
		private function onHelpClick(e: MouseEvent): void
		{
			ShowHint();
		}
 
		protected function onStgResize(e: Event): void
		{
			if (hinted)
			{
				hint.x = stg.stageWidth - hint.width - 210;
				hint.y = 380;
			}
 
			this.x = stg.stageWidth - btnHelp.width - 100;
			this.y = 300;
		}
	}
 
}