创建Eclipse游戏插件,第2部分: 构建和发射BB枪 - 编程入门网
1-02-10 IBM Tyler Anderson
使用计时器进行动画处理 在 BB 弹创建之后,需要设置并初始化计时器。计时器每隔 x 毫秒更新一次 translation 变量。请完成 shoot 方法的定义,如清单 25 所示。 清单 25. 使用计时器
TimerTask 对象有两个重要的方法:run 和 cancel。run 方法由 Timer 对象每隔 2 毫秒调用一次。这个方法每次从 translation 中减去 0.1,如果 translation 值低于 100(代表它已经打空了),那么 BB 弹消失并取消 TimerTask。布尔变量 fired 设置为 false,计时器退出执行。最后一行把 TimerTask 对象的 run 方法指定为每 2 毫秒调用一次。 通过转换处理 BB 弹射击的动画 现在在 translation 变量变化的时候,需要更新 BB 的位置。请重载 bullet 类的 draw 方法来做这个工作,如清单 26 所示。 清单 26. 用 translation 变量处理动画
只要 translation 变量在可接受的范围内,BB 的原点就根据 translation 变量值指定的量进行转换。下面,我们把 shoot 方法添加到 GameScene 类。 添加 BB 枪射击的公共钩子 同样,像虫子爆炸一样,需要允许 SceneGrip 类利用 BB 射击的功能。请在 GameScene 类中创建 shoot 方法,就在 dispose 方法之后,如清单 27 所示。 清单 27. 把 shoot 方法添加到 GameScene 类
这个方法查找没有发射的 BB 对象,如果发现,就发射。然后这个方法以 break 语句结束。下面,我们向开关语句中添加空格键,作为触发按钮。 创建Eclipse游戏插件,第2部分: 构建和发射BB枪(17)时间:2011-02-10 IBM Tyler Anderson修改键盘事件处理函数 需要的最后一个钩子是捕获从 OpenGL 画布按下的空格键。一旦按下空格键,就捕获这个事件,并调用 GameScene 类的 shoot 方法,它发射 BB 弹。捕获这个事件的代码如清单 28 所示。 清单 28. 用空格键作为触发按钮
现在看看发射的 BB 弹,如图 9 所示。 图 9. 射击 BB 弹 看看这些 BB 弹的效果! 有没有注意到动画的平滑效果?感谢从 Eclipse 示例插件整合到这个插件中的框架,许多用 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |