快速业务通道

创建Eclipse游戏插件,第3部分: 启动游戏 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
o;POW”,然后消失。还可以添加其他事件,例如在所有虫子爆炸和死掉时,可以显示 “We win” 或者出现一个更大更强壮的虫子,只有击中它的两只眼睛才能打掉它。我们也可以给用户设一个时间限制,如果在指定时间内没有把虫子破坏掉,就触发一个事件,告诉用户游戏结束。这节剩下的部分添加的代码,在虫子标记为爆炸的时候(布尔变量 blowup 为 true)触发一个事件,开始显示 “POW”。

显示 “POW”

虫子爆炸的第一个事件显示 “POW”。所以,只需要在虫子爆炸却还没死的时候绘制 POW。我们在 drawScene 方法中添加这个功能,如清单 18 所示。

清单 18. 虫子爆炸时显示 POW

protected void drawScene() {      super.drawScene();      this.grip.adjust();      GL.glBindTexture(GL.GL_TEXTURE_2D, Gun.TEXTURES[1]);      boolean drawPow = false;      for(int i = 0; i < bugs.length; i++)        if(!drawPow && bugs[i].blowUp && !bugs[i].dead)          drawPow = true;      if(drawPow){        pow.draw();      }      for(int i = 0; i < bullets.length; i++) ...

在这里,检查每个虫子,如果虫子爆炸了却还没死(没有消失),就显示 “POW”。接下来,添加显示爆炸虫子的代码。

把虫子炸掉

既然显示了 “POW”,现在添加把虫子炸掉的代码。请修改 Bug 类的 draw 方法,如清单 19 所示。

清单 19. 炸掉虫子

public void draw(){        GL.glTranslatef(ox, oy, oz);        if(blowUp)          this.explode();        super.draw();        GL.glTranslatef(-ox, -oy, -oz);      }

如果虫子的布尔变量 blowUp 设置为 true,那么这个代码会炸掉虫子,并显示虫子爆炸的碎片。接下来,配置一个计时器,让虫子消失。

创建Eclipse游戏插件,第3部分: 启动游戏(9)

时间:2011-02-10 IBM Tyler Anderson

让虫子的碎片消失

虫子爆炸之后,就要让它消失。与其他游戏类似,被消灭的敌人要等一会儿才消失。下面的代码让爆炸的虫子在半秒之后消失。请修改 Bug 类的 draw 方法,如清单 20 所示。

清单 20. 让死虫子和虫子碎片消失

public void draw(){        if(dead)          return;        GL.glTranslatef(ox, oy, oz);        if(blowUp){          this.explode();          tt = new TimerTask(){            public void run(){              cancel();            }            public boolean cancel(){              boolean cancelled = super.cancel();              dead = true;              return cancelled;            }          };          t.scheduleAtFixedRate(tt, 500, 500);        }        super.draw();        GL.glTranslatef(-ox, -oy, -oz);      }

如果虫子死掉,就从方法返回,什么也不绘制。另外,除了在布尔变量 blowUp 为 true 的时候把虫子炸掉,我们还初始化了一个计时器任务,在半秒之后把布尔变量 dead 设为 true。

玩和重新开始游戏

玩游戏与第 2 部分中一样。但是,在所有虫子都被击中的时候,我们想重新开始游戏,射掉更多虫子。这是这一节的内容。

初始化游戏部件

游戏开始时通常有一个初始设置,用户据此移动和操纵游戏。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号