ios – Spritekit – 不加载@ 3x图像从SKTextureAtlas

前端之家收集整理的这篇文章主要介绍了ios – Spritekit – 不加载@ 3x图像从SKTextureAtlas前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
由于我的示例项目被删除(我认为这样会更容易测试),我将发布一些代码和图像来说明我的观点.

这里是示例图像

我的地图册设置:

我的发射图像设置:

我将这些精灵添加到我的场景的代码

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加模拟器:

我已经尝试更改启动映像以使用资产目录.那么iPhone 6 plus似乎会升级2x屏幕.它仍在加载2x图像,但是将其缩放.

我需要它来加载我的3x图像,并使用我的2x图像进行缩放.

Gabuh的回答指出了我正确的方向.在一个新项目上工作.但是,如果我将他的解决方案用于我的真正的SpriteKit项目,我的3x图像不会被缩小.它们比它们大3倍.

解决方法

当Xcode生成编译的图集时,这似乎是一个错误.如果您检查编译的应用程序的包,您将看到Xcode不为@ 3x图像创建正确的地图集名称.

我已经通过使用@ 3x名称创建地图集来管理@ 3x资源,并留下没有后缀的图像.

您可以检查UIScreen.mainscreen().scale来决定要使用的地图集名称.检查附件中的地图集名称,以及getTextureAtlas中的代码

原文链接:https://www.f2er.com/iOS/330175.html

猜你在找的iOS相关文章