Xcode 粒子发射器编辑器不使用〜ipad 图像?
Posted
技术标签:
【中文标题】Xcode 粒子发射器编辑器不使用〜ipad 图像?【英文标题】:Xcode Particle Emitter Editor not using ~ipad images? 【发布时间】:2017-03-24 02:31:13 【问题描述】:我们为 iPhone 和 iPad 提供不同的图像,但 Xcode 中的粒子发射器编辑器似乎只使用 iPhone 图像——即使在 iPad 设备上也是如此。
我们还尝试在代码中更改纹理,如下所示:
emitterNode.particleTexture = SKTexture(imageNamed: "Test.png")
我们有一个名为“Test@2x~ipad.png”的图像。这是图片的 iPad 版本。
iPhone 版本命名为“Test@2x.png”。
SKEmitterNodes 无法为不同的设备自动使用不同的图像,还是我们做错了什么?
【问题讨论】:
@matt 是的,这是可能的。只是想看看是否有一种不那么骇人听闻的方法,这意味着全部来自粒子编辑器(因为其他一切都由粒子编辑器控制)。 【参考方案1】:不要调用SKTexture(imageNamed: "Test.png")
,而是调用SKTexture(image: UIImage(named: "Test"))
。对UIImage(named:)
的调用将遵守捆绑资源命名约定。
【讨论】:
所以 SKTexture(ImageNamed: "Test.png") 不应该遵守捆绑资源命名约定?感谢分享! 不知道有没有。但我知道UIImage(named:)
可以!
很公平,将尝试这种方法,看看它是否有效!再次感谢。
不幸的是这不起作用......还有其他建议吗?新图像的纹理大小打印正确,但粒子的纹理大小似乎与粒子的原始图像/纹理的大小一致。换句话说,图像本身会发生变化,但大小不会。
啊,是的,尺寸。我记得,您不会将 2x 图像用于发射器。是这个问题吗?【参考方案2】:
这是答案,但自从 @matt 提供帮助后,他就给了分数。
不幸的是,Xcode 粒子编辑器似乎无法通过 ~ipad
命名约定自动识别 iPad 图像。
解决方案是在代码中指定纹理,但你也必须像这样更新粒子大小:
let texture = SKTexture(imageNamed: "Test.png")
emitterNode.particleTexture = texture
emitterNode.particleSize = texture.size()
【讨论】:
以上是关于Xcode 粒子发射器编辑器不使用〜ipad 图像?的主要内容,如果未能解决你的问题,请参考以下文章