Flash CS4教程:详细解析抓喜鹊游戏教程

2019-10-08 12:36:51刘景俊

AS3代码


复制代码
package {
import flash.display.*;
import flash.events.*;
import flash.utils.Timer;
import flash.text.TextField;
import flash.ui.Mouse;

public class Main extends Sprite {

private var _grade:Number;//得分值
public var displayGrade_txt:TextField;//得分显示
public var start_btn:SimpleButton;//开始按钮
private var stageW:Number;
private var stageH:Number;
private var content_mc:Sprite;//存储所有喜鹊对象的容器
private var hand_mc:MovieClip;//“手型”对象

private var _timer:Timer;

public function Main() {

this.stageW = stage.stageWidth;
this.stageH = stage.stageHeight;
this.content_mc = new Sprite();
addChild(content_mc);

Mouse.hide();
this.hand_mc = new MouseHand();
hand_mc.mouseEnabled = false;
hand_mc.gotgood_mc.mouseEnabled = false;
addChild(hand_mc);
stage.addEventListener(MouseEvent.MOUSE_MOVE, stageMoveHandler);
stage.addEventListener(MouseEvent.MOUSE_DOWN, stageDownHandler);

init();

}

(8)stageMoveHandler()方法是简单的鼠标跟随,stageDownHandler()方法是当用户鼠标点击时播放步骤(5)中的“手型”影片剪辑动画,产生“抓”的动作效果。 init()方法中开始初始化该游戏,主要是将displayGrade_txt显示文本的内容设置为0和为开始按钮注册事件侦听器函数。当用户单击start_btn按钮后,便调用startGame()方法,此时,将结束游戏按钮out_btn 设置为可见,并注册事件侦听器函数,如第59、60行代码所示。然后通过创建Timer类对象实例进行计时,每隔500毫秒执行一次copy()侦听器函数,也就是创建一只喜鹊对象,如第62到64行代码所示。第65行将start_btn按钮设置为不可见。

提示:关于计时器Timer类:Timer(delay:Number, repeatCount:int = 0)

参数 delay:Number — 计时器事件间的延迟(以毫秒为单位)。

repeatCount:int (default = 0) — 指定重复次数。 如果为 0,则计时器重复无限次数。 如果不为 0,则将运行计时器,运行次数为指定的次数,然后停止。

AS3代码


复制代码
private function stageMoveHandler(e:MouseEvent):void {

this.hand_mc.x = stage.mouseX;
this.hand_mc.y = stage.mouseY;
}
private function stageDownHandler(event:MouseEvent):void {