创建一个 Eclipse 游戏插件,第 3 部分: 启动游戏
2009-12-14 00:00:00 来源:WEB开发网清单 3. 添加新变量
...
private float ox, oy, oz;
private float translationGunX;
private float translationGunY;
private GameScene game;
private static long lastShotMilliseconds;
public Bullet(GameScene game, float ox, float oy, float oz) {
lastShotMilliseconds = System.currentTimeMillis();
this.game = game;
this.ox = ox;
this.oy = oy;
this.oz = oz;
...
在创建 Bullet 类时,把静态变量 lastShotMilliseconds 初始化为当前时间,并设置 x、y 和 z 坐标,就像对 Bug 类所做的那样。请按照清单 4 修改发射 BB 弹(称为 “bullets”)的方法。
清单 4. 发射子弹
public void shoot(){
for(int i = 0; i < bullets.length; i++)
if(!bullets[i].fired){
bullets[i].shoot(gun.translationx, gun.translationy);
break;
}
}
现在发射 BB 弹时将提供枪的当前坐标,这样在射击时 BB 弹就会在枪口指向的位置出来,而不是在枪的原始位置出来。请照此修改 Bullet 类的 shoot 方法,如清单 5 所示。
清单 5. 修改 shoot 方法
public void shoot(float tGunX, float tGunY){
long now = System.currentTimeMillis();
if(now - lastShotMilliseconds < 250)
return;
lastShotMilliseconds = now;
translationGunX = tGunX;
translationGunY = tGunY;
...
更多精彩
赞助商链接