当用户快速移动时,SKSpriteNode移出父边界的问题

时间:2014-03-12 11:13:56

标签: ios touch sprite-kit game-physics

我的主角SKSpriteNode启用了PhysicsBody。我的场景也有PhysicsBody应用于包含视图中的主角。在角色上使用PanGesturetouch and drag类型控件,我可以在场景中移动角色而不会出现任何问题。

问题在于,如果我非常快速地移动手指,例如:对视图边缘进行大幅滑动,角色可能会破坏场景的PhysicsBody,导致其离开屏幕。在我的游戏逻辑中,关闭屏幕会结束游戏,所以这是不可接受的。

那么如何以可能较高的用户输入速度将SKSpriteNode包含在场景视图中呢?

注意:我也尝试为角色精灵启用usesPreciseCollisionDetection,但这似乎没什么区别。

此问题已在模拟器和实时测试中复制。

1 个答案:

答案 0 :(得分:1)

常见的解决方法是,不要使用基于边缘的形状作为场景边界,而是围绕场景制作四个方形体。你的积木越大,你需要越快通过它。