Показать сообщение отдельно
Старый 13.09.2012, 01:20
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 2  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.KeyboardEvent;
	import flash.events.TimerEvent;
	import flash.utils.Timer;
 
	/**
	 * ...
	 * @author bav
	 */
	public class Main extends Sprite 
	{
		private var timer:Timer;
		private var rest:int = 4;
		private var flag:Boolean = false;
 
		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);
			stage.addEventListener(KeyboardEvent.KEY_DOWN, startTimer);
		}
 
		private function startTimer(e:KeyboardEvent):void
		{
			stage.removeEventListener(KeyboardEvent.KEY_DOWN, startTimer);
			timer = new Timer(1000);
			timer.addEventListener(TimerEvent.TIMER, timerHandler);
			timer.start();
		}
 
		private function timerHandler(e:TimerEvent):void 
		{
			trace(rest);
			if (--rest == 0)
			{
				trace("Booooom!");
				if (flag)
				{
					timer.stop();
					return;
				}
				else
				{
					rest = 180;
					flag = true;
				}
			}
		}
 
	}
 
}
Еще вместо отдельной переменной rest можно воспользоваться свойством таймера currentCount.