我有一个粒子发射器,我想在粒子碰撞某些物理体时检测它。 在 SpriteKit API 中是否有一种本地方法可以做到这一点,或者我是否需要“作弊”?
最佳答案
单个粒子不能碰撞。不是物理学,不是任何其他方式。您甚至无法获得有关单个粒子的任何信息 - 您无法访问它的位置、旋转、速度……什么都没有。
如果您想“作弊”,则必须使用 sprite 模拟粒子发射器,并使用 Action 或手动为 sprite 设置动画。但是请记住,这比粒子发射器效率低得多。
此外,如果我们谈论的“粒子”通常意味着屏幕上有几十个甚至数百个粒子,那么如果您使用附加物理体的 Sprite 来建模它们,物理处理和碰撞检测的数量很快就会变得非常昂贵.在你走这条路之前做一个性能测试。
关于sprite-kit - SpriteKit 和粒子碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24402853/