sampletimer.as

来自「《Flash AS3殿堂之路》光盘源码 学习ActionScript 3.0」· AS 代码 · 共 53 行

AS
53
字号
package org.kingda.book.display
{
	import flash.display.Sprite;
	import flash.utils.Timer;
	import flash.events.TimerEvent;
	import flash.events.MouseEvent;

	public class SampleTimer extends Sprite
	{
		private var star:StarShape;
		private var timer:Timer;
		public function SampleTimer() {
			star = new StarShape();
			addChild(star);
			setStarPosition();
			
			//设置计时器,每半秒钟发出一次计时事件,共发20次
			timer = new Timer(500, 20);
			//计时事件侦听
			timer.addEventListener(TimerEvent.TIMER, moving);
			//计时结束事件侦听
			timer.addEventListener(TimerEvent.TIMER_COMPLETE, ended);
			
			timer.start();
			//鼠标按下,停止计时器
			stage.addEventListener(MouseEvent.MOUSE_DOWN, stopTimer);
			//鼠标弹起,继续计时器
			stage.addEventListener(MouseEvent.MOUSE_UP, resumeTimer);
		}
		//星星滚动
		private function moving(evt:TimerEvent):void {
			star.x +=5;
			star.rotation +=5;
			evt.updateAfterEvent();
		}
		//重设星星位置,重设计时器
		private function ended(evt:TimerEvent):void {
			setStarPosition();
			timer.reset();
		}
		private function setStarPosition():void {
			star.x = 100;
			star.y = 100;
			star.rotation = 0;
		}
		private function stopTimer(evt:MouseEvent):void {
			timer.stop();
		}
		private function resumeTimer(evt:MouseEvent):void {
			timer.start();
		}		
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?