2

我刚刚将 SpriteKit 游戏中的纹理切换为使用 Sprite Atlas。当我在模拟器上测试时一切正常,但在我连接的实际 iPhone 上却没有。地图集中的所有纹理都以排序网格模式显示,缩小和扭曲以适合 SKShapeNode。

这是我正在使用的代码

let spriteTextureAtlas = SKTextureAtlas(named: "Sprites")

override func sceneDidLoad() {

spriteTextureAtlas.preload {}

func spriteCreator() -> SKShapeNode{
        sprite = SKShapeNode.init(circleOfRadius: 20)
        sprite.fillTexture = spriteTextureAtlas.textureNamed("spriteTexture")

        return sprite
}

我确定这是一个愚蠢的错误,但无法弄清楚是什么。

谢谢您的帮助!


更新

我只使用 5 个完全独立的纹理。如果我为每个纹理创建一个新图集,它就可以正常工作。这似乎效率低下?或者这是我应该做的,因为这些纹理不是同一动画的帧。

4

1 回答 1

1

我遇到了类似的问题,但我的纹理没有出现在我的设备或模拟器上。我通过删除包含我的纹理的文件夹并使用 Xcode 创建一个新文件夹,然后将图像的副本拖到我创建的文件夹中来解决了这个问题。

于 2019-12-05T22:10:40.147 回答