package
{
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.utils.Timer;
import mx.controls.Label;
//窗体大小,绘制帧率
[SWF(width="400", height="300", frameRate="60")]
public class MyDemo extends Sprite
{
private var circle:Shape;
private var label:Label;
private var timer:Timer;
public function MyDemo()
{
label = new Label();
label.x = 30;
label.y = 30;
addChild(label);
circle = new Shape();
circle.x = 50;
circle.y = 100;
addChild(circle);
circle.graphics.beginFill(0xee2f2f);
circle.graphics.drawCircle(circle.x,circle.y,40);
circle.addEventListener(Event.ENTER_FRAME,changePos);//每帧调用changePos函数
stage.addEventListener(MouseEvent.CLICK,onClick); //舞台上添加鼠标点击监听事件
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDown);//舞台添加键盘监听
timer = new Timer(1000,5); //设置延迟时间是1秒,循环执行5次timerExcute()
timer.addEventListener(TimerEvent.TIMER,timerExcute);
timer.addEventListener(TimerEvent.TIMER_COMPLETE,timerComplete);//执行完成后调用timerComplete
timer.start();//启动timer
}
public function changePos(event:Event):void
{
if(circle.y >= 300)
{
circle.y = 1;
}else if(0<circle.y && circle.y < 300)
{
circle.y+=5;
}
}
//在点击的地方产生绿色方形
public function onClick(event:MouseEvent):void
{
var rect:Shape = new Shape();
addChild(rect);
rect.graphics.beginFill(0x11ff00);
rect.graphics.drawRect(event.stageX,event.stageY,20,20);
}
public function keyDown(event:KeyboardEvent):void
{
var count:int = 0
if(event.keyCode == 13) //监听Enter键
{
var rect:Shape = new Shape();
addChild(rect);
rect.graphics.beginFill(0x00f1f0);
rect.graphics.drawRect(Math.random()*400,Math.random()*300,10,10);
}
}
public function timerExcute(event:TimerEvent)
{
var rect:Shape = new Shape();
addChild(rect);
rect.graphics.beginFill(0x0f11f0);
rect.graphics.drawRect(Math.random()*400,Math.random()*300,10,10);
}
public function timerComplete(event:TimerEvent)
{
var rect:Shape = new Shape();
addChild(rect);
rect.graphics.beginFill(0x000000);
rect.graphics.drawRect(Math.random()*400,Math.random()*300,30,60);
}
}
}
桌面程序Air效果图: