2

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

在此处输入图像描述

在此处输入图像描述

最奇怪的是,这发生在某些 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 版本。

任何人都知道为什么会发生这种情况以及解决方案/解决方法?提前致谢。

4

0 回答 0