Swift SKEmitterNode width



你好,我试图在swift中使用SKEmitterNode,但我似乎无法改变它的宽度,所以粒子只覆盖了屏幕的一半。

我代码:

if let particles = SKEmitterNode(fileNamed: "Snow.sks") {
        particles.position = CGPointMake(frame.size.width/2, frame.size.height)
        particles.targetNode = self.scene
        particles.zPosition = 999
        addChild(particles)
    }

如何使粒子覆盖整个屏幕宽度?

在查看了所谓的"发射器编辑器"之后,正如@Knight0fDragon所建议的那样,我能够找到正确的参数- particlePositionRange

if let particles = SKEmitterNode(fileNamed: "Snow.sks") {
        particles.position = CGPointMake(frame.size.width/2, frame.size.height)
        particles.targetNode = self.scene
        // frame.size.width to cover the length of the screen.
        particles.particlePositionRange = CGVector(dx: frame.size.width, dy: frame.size.height) 
        particles.zPosition = 999
        addChild(particles)
    }

通过position和particlePositionRange你可以得到你的目标

通过文档:

particlePositionRange

声明
var particlePositionRange: CGVector { get set }

讨论

默认值为(0.0,0.0)。如果一个分量不为零,则粒子位置的相同分量是随机确定的,并且可能以正负一半的范围值变化

最新更新