Android基于box2d开发弹弓类游戏[六]移动的镜头&添加目标

九.移动的镜头

子弹的发射已经完成了。下一个就是要增进用户体验的时候了。现在运行游戏,当子弹发射以后,我们还需要拖动屏幕才能看到子弹运行的轨迹,这样的体验是非常差的。接下来完成,移动的镜头功能。就是屏幕显示区域跟随子弹运动。

这个功能之需要计算发射出去的子弹时时的位置就可以了。比较好实现。

logic方法的if((body.m_userDatainstanceof 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>();//创建存放目标的集合

然后在游戏世界中创建出目标物体。和之前创建子弹一样。不再赘述。

当创建目标之后,可以运行游戏。查看下效果。

最后发射子弹吧!

写到在这里我们系列的文章就暂时告一段落了。但是我们只是完成了一个简单的游戏界面。距离真正的游戏还有一段的距离。接下来就要各位博友自己去拓展功能了。我也会不定期的更新最新的功能的。尽请关注!~~

 

 

 

 

原文地址:https://www.cnblogs.com/81du/p/2799186.html