2016-08-23 67 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出于某种原因开始工作得更好。尝试改变你的子弹物理机构圈,似乎碰撞检测算法与圆圈更精确,这可能会帮助你。