创建一个 Eclipse 游戏插件,第 3 部分: 启动游戏
2009-12-14 00:00:00 来源:WEB开发网游戏
游戏的各部分已经就位,可以编写代码了。先从放在一条线上的 BB 枪和虫子开始,枪是射击一方。应当能够上下左右移动 BB 枪,并射出 BB 弹,就像我们在第 2 部分中用空格键所做的那样。但是这次,子弹不仅仅是穿过虫子,我们要编写代码,让子弹触发 “打爆” 虫子功能,并显示文本 “POW”。在半秒之后,虫子和 “POW” 文本消失。
移动 BB 枪
每个游戏都允许玩家移动他控制的部件 —— 在这个示例中就是 BB 枪。在添加这个功能之前,需要为我们创建和初始化的每个对象创建 3 维坐标。这一节介绍这个功能,这个功能允许玩家四处移动枪。
添加正确的坐标:虫子
在这份教程后面,当添加碰撞检测时,需要知道游戏中每个部件的正确坐标。请把坐标添加到 Bug 类中,如清单 1 所示。
清单 1. 挂上虫子的坐标
...
private float ox, oy, oz;
public Bug(float[] color, float ox, float oy, float oz) {
this.ox = ox;
this.oy = oy;
this.oz = oz;
...
现在有了当前虫子的 x、y 和 z 坐标。需要重载 Bug 类的 draw 方法,如清单 2 所示。
清单 2. draw 方法
public void draw(){
GL.glTranslatef(ox, oy, oz);
super.draw();
GL.glTranslatef(-ox, -oy, -oz);
}
现在我们要把原点转到绘制虫子的位置,绘制虫子,然后换回原点。
添加正确的坐标:子弹
除了向 Bullet 类添加 3 维坐标之外,还必须添加其他一些东西。例如,为了避免每秒发射数百次,我们将限制枪的发射速率。请参阅清单 3。
更多精彩
赞助商链接