【问题标题】:Xcode Particle Emitter Editor not using ~ipad images?Xcode 粒子发射器编辑器不使用〜ipad 图像?
【发布时间】: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 是的,这是可能的。只是想看看是否有一种不那么骇人听闻的方法,这意味着全部来自粒子编辑器(因为其他一切都由粒子编辑器控制)。

标签: ios iphone xcode sprite-kit skemitternode


【解决方案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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-03
    • 1970-01-01
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多