java飞机大战战游戏java中子弹只能打出一小截

同样是从网上看到的一个需求需求描述都在代码中。

不多说了直接贴代码了。相信大家都能够看得懂的!

* 使用多线程模拟多线程装弹及射出的过程(实际上这是一个苼产者与消费者的问题) * 1.开启3个线程装弹开启2个线程发射子弹 * 2.弹夹最多只能够装载12颗子弹 * 3.一次只能够发射一枚子弹,发射子弹的时候不能进行装弹在装弹的时候不能进行发射。 * 4.整个过程就是“装载”、“发射”、“装载”、“发射”、“装载”、“发射” //开启两个线程進行发射 * 模拟装弹以及发射的管理类 //队列中对多存储12个子弹

如果是直线运动根据x0,y0(发射点),x1,y1(终點),得到要移动的距离,距离/子弹移动的速度 得到要运动的时间tn, 

如果是抛物线要用另外的公式

1:请看我写的另一篇文章  《》 只需去掉炮弹属性里的爆炸范围并且把第5条爆炸时检查爆炸范围去掉就好了

2:如果子弹飞行很快的话在update里更新碰撞可能会导致子弹穿过了某些东西但是并没有检查到碰撞。这个因为飞的太快了一帧内飞行的距离过远导致的。

3:解决飞行过快的方法有很多你可以画一条从槍口到飞行最远距离的线。然后检查哪些物体与这条线相交了让距离枪口最近的敌人受到伤害。

4:如果子弹有穿透性那就每次降低穿透数值就好了(比如原本穿透数值为20,穿过第一个敌人减去15在打到第二个敌人的时候就是0了,不在继续飞行)


欢迎转载转载请标明出處

我要回帖

更多关于 java飞机大战 的文章

 

随机推荐