SKEmitterNode粒子在创建时聚集在一起

时间:2016-01-12 17:58:05

标签: ios xcode swift sprite-kit skemitternode

我有一个在不同版本的iOS中表现奇怪的SKEmitterNode。如果您查看下面的屏幕截图,您将看到当我的场景被加载时,我正在使用的发射器在场景首次加载时会转储一组奇怪的雨滴。

enter image description here

enter image description here

最奇怪的是,这种情况发生在某些版本的iOS 8.1和9.2中,但在9.0和7.0等其他版本中,它会按预期运行。 (意思是没有最初的液滴,只是随机间隔的液滴。)

这是我在didMoveToView中的代码:

 let rainEmitterPath:NSString = NSBundle.mainBundle().pathForResource("homeScreenRain", ofType: "sks")!
    self.rainEmitter01 = NSKeyedUnarchiver.unarchiveObjectWithFile(rainEmitterPath as String) as! SKEmitterNode
    self.rainEmitter01.position = CGPointMake(device.x/2, device.y + 50)
    self.rainEmitter01.targetNode = self
    self.rainEmitter01.particleZPosition = 6.0
    self.rainEmitter01.particleBirthRate = 300
    self.rainEmitter01.particleSpeed = 5000 * worldScale
    self.rainEmitter01.particleSpeedRange = worldScale * 1000
    self.rainEmitter01.particleScale = worldScale
    self.rainEmitter01.particleScaleRange = worldScale
    self.rainEmitter01.particlePositionRange = CGVector(dx: device.x + 100, dy: 5)
    //self.rainEmitter01.advanceSimulationTime(7.0)
    self.addChild(rainEmitter01)

我尝试过使用advanceSimulationTime方法,但由于某些原因,即使在延迟之后,这组丢弃仍然会下降。

我也尝试改变位置范围的y大小,因为我认为我的高度为5导致了这个,但即使我将高度设置为等于屏幕的大小,高度为5仍然没有改变适用于其他版本的iOS。

任何人都知道为什么会这样,以及解决方案/解决方法? 提前谢谢。

0 个答案:

没有答案