用打汽球来练习AS3,并附上源码。
//===========主程序============
package {
import flash.display.*;
import flash.events.*;
import flash.utils.Timer;
import flash.text.TextField;
//内部调用组件按钮 所以要装载
import fl.controls.Button;
public class 主程序 extends Sprite {
//定义球是个MC
public var 汽球组:Array;
private var 分值:Number;
public var 得分显示:TextField;
//定义按钮
public var 开始按钮:Button;
public function 主程序() {
trace();
分值=0;
汽球组=new Array();
//该类加载后初始运行复制MC函数 并给按钮添加点击事件
开始按钮.addEventListener(MouseEvent.CLICK,游戏开始);
}
private function 游戏开始(event:MouseEvent):void {
trace("点击");
var 刷新时间=new Timer(200,0);
刷新时间.addEventListener(TimerEvent.TIMER,复制);
刷新时间.start();
开始按钮.visible =false;
}
private function 复制(event:TimerEvent) {
var mc=new 汽球(Math.random() * 10 + 1);
汽球组.push(mc);
mc.x=Math.random() * 500;
mc.y=400;
mc.addEventListener(MouseEvent.MOUSE_DOWN, 点击事件);
addChild(mc);
}
public function 刷新分值(_分值:Number) {
分值+=_分值;
得分显示.text=分值.toString() ;
}
//==================事件=================
private function 点击事件(event:MouseEvent) {
var mc=event.target;
removeChild(mc);
刷新分值(mc.参考值);
}
}
}
//===============汽球.as=========
package {
import flash.display.MovieClip;
//时实运行
import flash.utils.Timer;
import flash.events.*;
public class 汽球 extends MovieClip {
private var 移动步值:Number;
private var 移动时间:Timer;
public function 汽球(_移动步值) {
移动步值=Math.round(_移动步值);
初始();
}
private function 初始() {
移动时间=new Timer(50,0);
移动时间.addEventListener("timer",运动);
//开始执行
移动时间.start();
//
}
private function 运动(event:TimerEvent) {
this.y-= 移动步值;
}
public function get 参考值() {
return 移动步值;
}
}
}
源码如下:
点击下载此文件