【发布时间】:2020-04-25 01:08:44
【问题描述】:
我在使用带有参考节点的粒子发射器时遇到问题。
当它直接在场景中引用时(例如,在 GameScene.sks 文件中)它可以工作,但是当它在另一个 .sks 文件中引用时它不起作用,然后在 GameScene 中引用该文件/节点。 sks,尽管其他引用的节点显示正确。
这是层次结构:
GameScene.sks
- Reference Node to RocketFire.sks (emitter) <-- works
- Reference Node to Rocket.sks
Rocket.sks
- Reference Node to RocketFire.sks (emitter) <-- doesn't work in GameScene
- Reference Node to Engine.sks (non-emitter nodes) <-- works in GameScene
RocketFire.sks (SpriteKit particle file)
Engine.sks (SpriteKit scene file with non-emitter nodes)
参考节点或粒子发射器的使用方法是否错误?
(如果需要更多信息,请告诉我)
编辑:
我确实做到了有些时候。有时,当我在所有文件中删除并重新添加引用的节点,或者如果我更改节点层次结构时,它会突然开始工作。但是,我仍然无法确定它何时起作用和何时不起作用的一致原因,因为因为更改它并将其恢复到它起作用时,并不能修复它。 (老实说,感觉像一个错误)
【问题讨论】:
-
不清楚具体指的是什么行为有效和无效,但发射器的模拟时间可能存在问题。例如,发射器具有一定的持续时间,但它被创建但直到持续时间结束后才使用/显示。在这种情况下,使用发射器的
isPaused阻止它在它不应该处于活动状态时运行和/或在显示它之前调用resetSimulation()倒带它可能会解决您的问题。 -
不起作用 = 没有粒子被发射(即没有任何可见的东西)。我用一个新项目复制了它,并且只使用 Sprite 场景编辑器 - 没有其他逻辑
标签: sprite-kit