2016-08-23 70 views
3

我已經做了一個應用程序,你需要射擊一個敵人,但有時子彈穿過敵人。 swift sprite kit game when I shoot on a enemy sometimes the bullet goes trough the enemy, how can I fix this?swift usesPreciseCollisionDetection不起作用?

所以我加了usesPreciseCollisionDetection = true。 但子彈有時仍會穿過敵人。所以我的問題是我做了什麼錯誤或是usesPreciseCollisionDetection不工作?

感謝您閱讀我的問題我希望有人能幫助我。

+0

2個物體是否應該碰撞,接觸或兩者兼而有之? –

+0

我做到了這一點,如果子彈擊中敵人,敵人爆炸,子彈被移除 – EPKgames

回答

1

您正在使用moveTo移動你的子彈,物理引擎不moveTo工作,你想讓它,usesPreciseCollisionDetection不會做任何

至於你的物理世界而言,你的子彈是靜止的方式。你只是在玩上帝,並進行某種分子運輸來移動物品。

您需要使用的功能,如applyImpulse甚至只是給physicsBody的速度,如果你想要這個工作正確

0

我有類似的問題,那就是碰撞,即使usesPreciseCollisionDetection被設置爲true,兩者有時未檢出SKPhysicsBody是矩形。在我的案例中,當我將其中一個SKPhysicsBody改成圓形而不是矩形時,使用PreciseCollisionDetection出於某種原因開始工作得更好。嘗試改變你的子彈物理機構圈,似乎碰撞檢測算法與圓圈更精確,這可能會幫助你。