sprite-kit - SpriteKit 和粒子碰撞

标签 sprite-kit

我有一个粒子发射器,我想在粒子碰撞某些物理体时检测它。 在 SpriteKit API 中是否有一种本地方法可以做到这一点,或者我是否需要“作弊”?

最佳答案

单个粒子不能碰撞。不是物理学,不是任何其他方式。您甚至无法获得有关单个粒子的任何信息 - 您无法访问它的位置、旋转、速度……什么都没有。

如果您想“作弊”,则必须使用 sprite 模拟粒子发射器,并使用 Action 或手动为 sprite 设置动画。但是请记住,这比粒子发射器效率低得多。

此外,如果我们谈论的“粒子”通常意味着屏幕上有几十个甚至数百个粒子,那么如果您使用附加物理体的 Sprite 来建模它们,物理处理和碰撞检测的数量很快就会变得非常昂贵.在你走这条路之前做一个性能测试。

关于sprite-kit - SpriteKit 和粒子碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24402853/

相关文章:

iOS+ swift : Why is music not played on iPad?

ios - SKView 集成到 UIViewController 中,UITextFields 滞后

swift - 无法从场景编辑器引用 SKSpriteNode 到代码

swift - SpriteKit : SKSpriteNode controlled by device motion falls out of the screen in the corners

ios - didBeginContact 没有在快速移动的 Sprite 上调用

ios - SKEmitterNode 没有从父级中删除自己?

sprite-kit - Sprite Kit中无尽的声音

ios - SKAction.runBlock -> 调用中缺少完成参数

ios - SKTexture 返回错误的大小?

ios - Sprite Kit 如何让网格中的特定节点执行操作?