网站首页 mysql技术
跟我一起做游戏--偷吃蛇来了--第一期
发布时间:2017-02-25 06:30查看次数:6256
贪吃蛇大作战!基于EGRET引擎!!
2.准备材料背景图!一张
3.食物为图形界面画出来的!知识点..EUI的继承与使用,对象定义
制作全过程:
第一 制作食物类
食物可以随机颜色 所以我们定义了8个颜色类,用数组存放!
//定义食物的颜色
private MyColor: number[] = [0x70f3ff, 0xff461f, 0x00bc12, 0x21a675, 0x4c221b, 0xbf242a, 0x161823, 0xffa400];
然后获取随机颜色值
//获取随机颜色值
private getRendomColor(): number {
var tmpInt: number = Math.ceil(Math.random() * 10);
if (tmpInt > 8) {
tmpInt = 1;
}
return this.MyColor[tmpInt];
}
第二 初始化食物位置
/**
* 初始化食物
* X 坐标点
y 坐标点
*/
public init(x: number, y: number) {
this.x = x;
this.y = y;
this.width = 50;
this.height = 50;
this.ellipseWidth = 50; //绘制圆形
this.fillColor = this.getRendomColor();
}
第三 食物被吃以后会销毁的 所以
/**食物被吃掉 */
public onEat() {
this.parent.removeChild(this);
}
最后 我们通过构造函数来定义位置
//食物类对象
public constructor(mx:number,my:number) {
super();
// this.fillColor = 0;
this.init(mx, my);
// this.skinName = "resource/food.exml";
// this.addEventListener(egret.Event.COMPLETE,this.init,this)
}
遵从标准代码原则 我们最后的食物类源码是这样的!
class Food extends eui.Rect {
//定义食物的颜色
private MyColor: number[] = [0x70f3ff, 0xff461f, 0x00bc12, 0x21a675, 0x4c221b, 0xbf242a, 0x161823, 0xffa400];
//食物类对象
public constructor(mx:number,my:number) {
super();
// this.fillColor = 0;
this.init(mx, my);
// this.skinName = "resource/food.exml";
// this.addEventListener(egret.Event.COMPLETE,this.init,this)
}
//获取随机颜色值
private getRendomColor(): number {
var tmpInt: number = Math.ceil(Math.random() * 10);
if (tmpInt > 8) {
tmpInt = 1;
}
return this.MyColor[tmpInt];
}
/**
* 初始化食物
* X 坐标点
y 坐标点
*/
public init(x: number, y: number) {
this.x = x;
this.y = y;
this.width = 50;
this.height = 50;
this.ellipseWidth = 50; //绘制圆形
this.fillColor = this.getRendomColor();
}
/**食物被吃掉 */
public onEat() {
this.parent.removeChild(this);
}
}
跟我一起做游戏--偷吃蛇来了--第一期
关键字词:EGRET##