九.移动的镜头
子弹的发射已经完成了。下一个就是要增进用户体验的时候了。现在运行游戏,当子弹发射以后,我们还需要拖动屏幕才能看到子弹运行的轨迹,这样的体验是非常差的。接下来完成,移动的镜头功能。就是屏幕显示区域跟随子弹运动。
这个功能之需要计算发射出去的子弹时时的位置就可以了。比较好实现。
在logic方法的if((body.m_userData) instanceof Bullet)逻辑末尾加入。
if(moveing_flag)//判断子弹是否处于运动状态 { //获取到移动的偏移量。(ScreenW/2.0f用于使子弹处于屏幕中间) float ww=this.bullet.iterator().next().getPosition().x * RATE - ScreenW / 2.0f; //防止镜头移出游戏场景 move_X=(ww<5)?0:(ww>580)?586:ww; }
此时,移动的镜头就已经完成了。运行下游戏,是不是非常酷啊!
十.创建目标
此时所有的准备都已经就绪了,接下来就要引进需要攻击的目标了。
有限创建一个Target.java类。并且实现BodyInterface接口。和之前创建子弹一样,在这里不再赘述了。
回到MainView.java主类中,定义需要用到的变量。
private Set<Body> targetBodies = new HashSet<Body>();//创建存放目标的集合
然后在游戏世界中创建出目标物体。和之前创建子弹一样。不再赘述。
当创建目标之后,可以运行游戏。查看下效果。
最后发射子弹吧!
写到在这里我们系列的文章就暂时告一段落了。但是我们只是完成了一个简单的游戏界面。距离真正的游戏还有一段的距离。接下来就要各位博友自己去拓展功能了。我也会不定期的更新最新的功能的。尽请关注!~~