当我运行我的SpriteKit游戏时,我在控制台中多次收到此错误。据我所知(尽管我不完全确定),游戏本身不受影响,但是错误可能还有一些其他的影响,同时拥挤调试控制台。
我对错误进行了一些研究,并发现了一些可能的解决方案,其中没有一个似乎完全有效。这些解决方案包括将ignoresSiblingOrder忽略为false,并将纹理指定为SKTextureAtlas(命名为“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版本。
我不知道是否有任何其他可能的错误消息的来源,或者如果上面的示例是错误的来源。
这是只是一个bug精灵套件的错误,或我的代码或资产的合法错误?
谢谢!