用打汽球来练习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 移动步值; } } }
(责任编辑:admin) |