代码游戏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():布尔值
{
返回_直播;
}
}
}