我们为iPhone和iPad提供了不同的图像,但Xcode中的粒子发射器编辑器似乎只使用iPhone图像 - 即使在iPad设备上也是如此。
我们还尝试在代码中更改纹理,如下所示:
emitterNode.particleTexture = SKTexture(imageNamed: "Test.png")
我们有一个名为"Test@2x~ipad.png"的图像。这是图像的iPad版本。
iPhone版本被命名为"Test@2x.png"。
SKEmitterNodes无法自动为不同的设备使用不同的图像,还是我们做错了什么?
不要调用SKTexture(imageNamed: "Test.png")
,而是调用SKTexture(image: UIImage(named: "Test"))
。对UIImage(named:)
的调用将遵循捆绑资源命名约定。
这是答案,但给了@matt分数,因为他帮了忙。
不幸的是,Xcode 粒子编辑器似乎不会通过~ipad
命名约定自动识别 iPad 图像。
解决方案是在代码中指定纹理,但您还必须像这样更新粒度:
let texture = SKTexture(imageNamed: "Test.png")
emitterNode.particleTexture = texture
emitterNode.particleSize = texture.size()