Swift SKEmitter 节点 - BSXPCMessage 收到消息错误:连接中断

Swift SKEmitter Node - BSXPCMessage received error for message: Connection interrupted

我目前正在努力改进我的 swift 雪碧套装游戏。我遇到了一个问题,我收到了可怕的 "BSXPCMessage received error for message: Connection interrupted" 消息。

当我的老板开始产卵或射击他们的武器时,就会发生这种情况。他们的引擎和武器有一个 SKEmitter 节点。所有 Boss 和武器都在自己的 SKSpriteNode class 中,带有样板 zPosition、物理体等代码和以下粒子代码。

let engineParticles = SKEmitterNode(fileNamed: "Boss1Thruster.sks")

engineParticles.zPosition = 15
engineParticles.position = CGPointMake(0, -50)
var particleEffects = SKEffectNode() //blends better with background like this
particleEffects.addChild(engineParticles)
addChild(particleEffects)

武器粒子也一样

let weaponParticles = SKEmitterNode(fileNamed: "Boss1WeaponThruster.sks")    

particles.zPosition = 15
particles.position = CGPointMake(+20, 0)
var particleEffects = SKEffectNode() // blends better this way
particleEffects.addChild(particles)
addChild(particleEffects)

boss 在屏幕外生成,然后进入场景并通过 SKActions 执行他们的例程。 此消息仅在出现的第一个粒子效果时出现一次,然后在 boss 战的其余部分都正常工作。出现错误消息时游戏不会崩溃,但我确实遇到了 1 秒的卡顿,这很烦人。我尝试在游戏开始时就预加载粒子,但这并没有什么不同。

关于为什么会发生这种情况的任何建议以及我可以做些什么来解决这个问题? 感谢您的任何建议。

似乎是 xCode 使用 SKEffectNode 的错误。我在使用 SKEffectNode 时也遇到了其他问题,他们不会使用 ios 9 渲染 SKEmitter 子节点,所以我不确定它是否已通过 ios 10.

修复