
Код 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.