我一直在尝试找到在 iOS 7 的 SpriteKit 中获取每个像素碰撞的最有效方法(但是,iOS 8 的 SpriteKit 支持这一点)。当然我想用一个盒子或圆圈来表示 Sprite 的物理体,但不幸的是游戏的本质要求每个像素碰撞。
我知道我可以在 Sprite 周围手动绘制 CGPath,但我试图为自己节省一些时间/创建一种长期使用的方法/学习新东西。由于 Sprite 的图像是在 alpha 背景(png 文件)上绘制的,我想知道是否使用边缘检测或其他方法可以使用 CGPath 跟踪非 alpha 边缘。这将在游戏初始化期间发生,并且 CGPath 将被转换为物理体并被保存。尽管我确实读到这可能非常棘手,但我在网上找不到太多帮助。
任何帮助深表感谢。谢谢!
最佳答案
据我所知,您无法自动跟踪非 alpha 边缘,我使用 tool您将一个 Sprite 拖放到一个盒子中,然后单击点来表示物理体。然后,该工具会返回您刚刚定义的路径的代码,在 iOS 8 发布之前,它会让事情变得更容易一些。
关于ios - 边缘检测 --> CGPath --> SpriteKite 碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25147271/