由于我的示例项目被删除(我认为这会更容易测试),我将发布一些代码和图像来说明我的观点。
这是示例图像
我的图集设置:
我的启动图像设置:
我将这些精灵添加到场景中的代码
override func didMoveToView(view: SKView) {
let texture = SKTextureAtlas(named: "scenery")
let test = SKSpriteNode(texture: texture.textureNamed("test"))
test.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
self.addChild(test)
}
这些是我的结果:
iPhone 5 模拟器:
iPhone 6 Plus 模拟器:
我尝试更改启动图像以使用资产目录。那么 iPhone 6 plus 似乎升级了 2 倍的屏幕。它仍在加载 2x 图像,但将其放大。
我需要它来加载我的 3x 图像并与我的 2x 图像一起缩放。
加布下面的回答为我指明了正确的方向。从事一个新项目。但是,如果我将他的解决方案用于我真正的 SpriteKit 项目,我的 3x 图像不会缩小。它们比应有的大 3 倍。
如果您使用新方法创建图集,它现在似乎可以工作。重要的是Deployment target
应该 >= 9.0 ...
Select Assets.xcassets
然后点击+号创建一个新的精灵图集:
选择“New Sprite Atlas”选项并添加@2x和@3x资源:
然后在代码中执行以下操作:
let sprite = SKSpriteNode(texture: SKTextureAtlas(named: "Sprites").textureNamed("test"))
sprite.position = CGPoint(x: frame.midX, y: frame.midY)
addChild(sprite)
Hint:
如果您正在模拟器上进行测试,请在尝试此操作之前重置模拟器的内容和设置以清除缓存。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)