目前,如果子弹碰撞碰撞墙,我会检查update()
:
game.physics.arcade.collide(weapon.bullets, collisionLayer, collisionHandler, processCallback, this);
这个有效!但是,当我设置weapon.bulletSpeed = 2000;
非常高(超过900)时,这不再起作用了,子弹"隧道"穿过碰撞墙。
我正在努力实施像步枪一样的狙击手,几乎没有时间让子弹击中障碍物。所以我想知道如何在玩家射击时计算子弹与碰撞墙的碰撞坐标。我怎么能这样做?
答案 0 :(得分:1)
子弹可能会逐步走向大而不会实际相交。
考虑使用y = mx + b形式的线来表示项目符号的路径,然后是表示墙的两条垂直线。
对于子弹线和两条墙线中的每一条的交叉点进行代数求解。如果有解决方案,那么子弹就会撞墙。
答案 1 :(得分:0)
我在移相器中找到了一个构建解决方案。该演示展示了它的工作原理: