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

ios – Spritekit – 不加载@ 3x图像从SKTextureAtlas,第1张

概述由于我的示例项目被删除(我认为这样会更容易测试),我将发布一些代码和图像来说明我的观点. 这里是示例图像 我的地图册设置: 我的发射图像设置: 我将这些精灵添加到我的场景的代码 override func didMoveToView(view: SKView) { let texture = SKTextureAtlas(named: "scenery") let test = S 由于我的示例项目被删除(我认为这样会更容易测试),我将发布一些代码和图像来说明我的观点.

这里是示例图像

我的地图册设置:

我的发射图像设置:

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

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中的代码

总结

以上是内存溢出为你收集整理的ios – Spritekit – 不加载@ 3x图像从SKTextureAtlas全部内容,希望文章能够帮你解决ios – Spritekit – 不加载@ 3x图像从SKTextureAtlas所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1097419.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存