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

标签 ios touch sprite-kit game-physics

我有一个 SKSpriteNode 作为我的主角,并启用了 PhysicsBody。我的场景还应用了一个 PhysicsBody 来包含 View 中的主要角色。在角色上使用 PanGesture触摸并拖动 型控件,我可以毫无问题地在场景中移动角色。

问题是,如果我快速移动手指,例如:快速滑动到 View 边缘,角色可能会破坏场景的 PhysicsBody ,导致其离开屏幕.在我的游戏逻辑中,离开屏幕就会结束游戏,所以这是 Not Acceptable 。

那么如何以潜在的高用户输入速度将 SKSpriteNode 包含在场景 View 中?

注意:我还尝试对角色 Sprite 启用usesPreciseCollisionDetection,但这似乎没有什么区别。

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

最佳答案

一个常见的解决方法是不使用基于边缘的形状作为场景的边界,而是在场景周围制作四个正方形。您的方 block 越大,您穿过它所需的移动速度就越快。

关于ios - 当用户快速移动时,SKSpriteNode 移出父级边界的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22349739/

相关文章:

ios - NSFileManager 不保存

ios - 恢复 App 时获取 launchOptions

html - 触摸屏设备支持 onmousedown 和 onmouseup 吗?

javascript - 考虑将事件处理程序标记为 'passive' 以使页面更具响应性

javascript - 如何衡量 Web 上的压力?

ios - 移动节点集合的最佳方式是什么?

objective-c - 如何调用多个用户变量 - iPhone 应用程序

ios - 如何在点击 MKMapView 时运行函数,但在点击 AnnotationView 时返回?

ios - 如何创建 overlaySKScene SWIFT Xcode 来显示 HUD 或控件?

swift - 找不到“StartApp/StartApp.h”文件