我已经制作了一个应用程序,你需要向敌人射击但有时子弹穿过敌人。 swift sprite kit game when I shoot on a enemy sometimes the bullet goes trough the enemy, how can I fix this?
所以我添加了usesPreciseCollisionDetection = true。 但子弹有时仍然会通过敌人。所以我的问题是我做错了什么或者usePreciseCollisionDetection没有用?
感谢您阅读我的问题,希望有人能帮助我。
答案 0 :(得分:1)
您正在使用u
移动子弹,物理引擎无法按照您希望的方式使用moveTo
,moveTo
将无法执行任何操作
就您的物理世界而言,您的子弹是静止的。你只是扮演上帝并进行某种分子运输来移动物品。
你需要使用像usesPreciseCollisionDetection
这样的函数,或者如果你想让它正常工作,你甚至只需要给physicsBody一个速度
答案 1 :(得分:0)
我有类似的问题,即使usesPreciseCollisionDetection设置为true且两个SKPhysicsBody都是矩形,有时也检测不到碰撞。在我的情况下,当我将其中一个SKPhysicsBody改为圆形而不是矩形时,由于某种原因,usesPreciseCollisionDetection开始工作得更好。尝试将你的子弹物理体改为圆形,似乎用圆圈的碰撞检测算法更精确,这样可以帮助你。