我有一个人留在屏幕上,直到他去世。当人移动时,挡块从他身上移开并使用SKEmitterNode
逐渐消失。我玩的时间越长,FPS越低,我的游戏开始变慢,通常大约1000个节点就会慢下来。
我知道我需要找到一种方法来删除已经消失的节点,我已经尝试了基本的东西来删除节点,但没有运气。
我也很困惑为什么我的游戏会在1000-1500个节点之间减速,因为有些游戏中有尘埃粒子的HD图像和一百万个不同的东西一次发生顺利运行?
以下是SKEmitterNode
:
func gravityTrail(_ spriteToExplode : SKSpriteNode, color : UIColor) {
gravityTrail = SKEmitterNode(fileNamed: "TrailGravity.sks")
gravityTrail.particleColorSequence = nil
gravityTrail.particleColorBlendFactor = 1.0
gravityTrail.particleColor = color
gravityTrail.targetNode = person
gravityTrail.position = spriteToExplode.position
self.addChild(gravityTrail)
}
感谢您的帮助!