22

当我运行我的 SpriteKit 游戏时,我在控制台中多次收到此错误。据我所知(虽然我不完全确定),游戏本身不受影响,但错误可能还有其他一些影响,以及拥挤的调试控制台。

我对该错误进行了一些研究,并找到了一些可能的解决方案,但似乎都没有完全奏效。这些解决方案包括转向ignoresSiblingOrder并将false纹理指定为SKTextureAtlas(named: "atlasName").textureNamed("textureName"),但这些都不起作用。

我认为错误来自资产目录中纹理和纹理图集的使​​用,尽管我不完全确定。以下是我如何实现其中一些纹理/图像:

let Texture = SKTextureAtlas(named: "character").textureNamed("\character1")
    character = SKSpriteNode(texture: Texture)

还:

let Atlas = SKTextureAtlas(named: "character")
    var Frames = [SKTexture]()

    let numImages = Atlas.textureNames.count

    for var i=1; i<=numImages; i++ {
        let textureName = "character(i)"
        Frames.append(Atlas.textureNamed(textureName))
    }
    for var i=numImages; i>=1; i-- {
        let TextureName = "character(i)"
        Frames.append(Atlas.textureNamed(textureName))
    }


    let firstFrame = Frames[0]
    character = SKSpriteNode(texture: firstFrame)

上面的代码只是用来创建一个数组来为角色设置动画,并且动画运行得很好。

对于所有其他精灵节点,我使用SKSpriteNode(imageNamed: "imageName")资产目录中的图像名称进行初始化,但不在纹理图集中。所有图像都有@1x、@2x 和@3x 版本。

我不确定错误消息是否还有其他可能的来源,或者上面的示例是否是错误的来源。

这只是精灵套件的错误,还是我的代码或资产的合法错误?

谢谢!

4

2 回答 2

19

我也有这个错误。在我看来,这是 Xcode 7.2 的错误,而不是你的错。我在制作应用程序的过程中更新了 Xcode,并且此消息开始不断出现在控制台中。根据这个那个链接,你在这里没有什么好害怕的。

于 2015-12-16T19:28:08.050 回答
3

产品 > 清洁

似乎可以解决问题。

当您从资产目录中删除一个项目时,错误似乎开始弹出,但它的引用仍然隐藏在某处的代码中。(就我而言,这是我删除的默认飞船资产。)

于 2016-02-23T16:50:03.180 回答