你好,我试图在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)。如果一个分量不为零,则粒子位置的相同分量是随机确定的,并且可能以正负一半的范围值变化