代码游戏qq

包类别

{

导入flash . display . movie clip;

导入flash . events . *;

//创建类Duck继承MovipClip

公共类Duck扩展MovieClip

{

//创建以下常量分别表示宽度和高度。

私有常量宽度:Number = 550

私有const HEIGHT:Number = 400;

//速度

私var _hspeed:数字;

私有var _ v speed:Number;

//方向猥亵儿童

私有var _ dir:int;

private var _ live:Boolean;

私有var _ tmpY:Number;

//是否停止运动的布尔值。

public var可擦除:Boolean

//静态变量

静态公共var得分:Number = 100;

公共函数Duck()

{

//在第一帧停止播放头。

this . gotoandstop(1);

//初始化变量值dir = 1;

dir = 1;

//将live赋值为true

this.live = true

//注册帧速率事件

addEventListener(事件。ENTER_FRAME,fly);

}

//帧率事件执行功能

公共函数飞行(e:事件):无效

{

//下面的条件语句是判断dir的值是1还是-1,在舞台中心左侧是1,右侧是-1;这通常用于控制方向。

如果(this.x & lt宽度/ 2)

{

dir = 1;

}

如果(this.x & gt宽度- this.width / 2)

{

dir =-1;

}

//这个原理近似于上面所说的。

如果(this.y & lt- this.height / 2)

{

this.erasable = true

//删除帧率事件。

this.removeEventListener(事件。ENTER_FRAME,fly);

}

//让对象移动,方向由dir控制。

this . x+= dir * h speed;

this . y+= v speed;

}

公共函数die(e:Event):void

{

this . gotoandstop(2);

//让对象旋转,旋转的方向由dir控制。

this . rotation+= dir *(this . y-this。_ tmpY)/10;

//这是控件Y坐标,但实际上这是一个缓冲运动。

this.y += ((this.y - this。_ tmpY)-v speed)/10;

if(hspeed & gt;0)

{

h speed-= h speed/10;

}

//控制移动

this . x+= hspeed * dir;

如果(this.y & gt高度)

{

this.erasable = true

}

}

//这是静态方法,属于类方法,不是实例。它有四个参数。

静态公共函数buildDuck(startX:Number,startY:Number,hspd:Number,vspd:Number):Duck

{

//这个静态方法类似于克隆的功能,但又不同于克隆。就是生成一个新的Duck对象,设置x,y,hspeed,vspeed的属性值。

var duck:Duck =新鸭();

duck.x = startX

duck.y = startY

duck.hspeed = hspd

duck . v speed = vspd;

回鸭;

}

//设置属性hspeed的值。

公共函数集hspeed(值:数字):void

{

_ hspeed = value

}

//获取属性hspeed的值。

公共函数get hspeed():Number

{

return _ hspeed

}

//设置属性vspeed的值。

公共函数集vspeed(值:数字):void

{

_ vspeed = value

}

//获取属性vspeed的值。

公共函数get vspeed():Number

{

return _ vspeed

}

//设置dir属性的值。

公共函数集dir(value:int):void

{

_ dir = value

this . scalex = _ dir *-1;

}

//获取dir属性的值。

公共函数get dir():int

{

return _ directory;

}

//外部live接口,是设置live的属性值。

公共函数集live(值:布尔值):void

{

_ live = value

if (_live == false)

{

//在这里给_tmpY赋值。是当前对象的y坐标。默认情况下,不分配该值,仅当_vive=false时才分配该值。

这个。_ tmpY = this.y

//注册帧速率事件

this.removeEventListener(事件。ENTER_FRAME,fly);

//注册帧速率事件

this.addEventListener(事件。ENTER_FRAME,die);

}

}

//live外部属性接口。这就是live的价值。

公共函数get live():布尔值

{

返回_直播;

}

}

}