Wenn ich mein SpriteKit-Spiel ausführe, erhalte ich diesen Fehler mehrfach in der Konsole. Soweit ich das beurteilen kann (obwohl ich mir nicht ganz sicher bin), ist das Spiel selbst nicht betroffen, aber der Fehler könnte einige andere Auswirkungen haben, zusammen mit der Überfüllung der Debug-Konsole.CUICatalog: Ungültige Anforderung: Anfordern des Subtyps ohne Angabe des Idioms (Woher kommt es und wie wird es repariert?)
Ich habe den Fehler untersucht und ein paar mögliche Lösungen gefunden, von denen keine vollständig funktioniert zu haben scheint. Diese Lösungen umfassen das Drehen ignoresSiblingOrder
zu false
und das Angeben von Texturen als SKTextureAtlas(named: "atlasName").textureNamed("textureName")
, aber diese funktionierten nicht.
Ich denke, der Fehler kommt irgendwo von der Verwendung von Texturen und Textur Atlanten im Asset-Katalog, obwohl ich mir nicht ganz sicher bin. Hier ist, wie ich einige dieser Texturen/Bilder bin der Umsetzung:
let Texture = SKTextureAtlas(named: "character").textureNamed("\character1")
character = SKSpriteNode(texture: Texture)
auch:
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)
Der obige Code ist nur ein Array zu erstellen, aus denen das Zeichen zu animieren und die Animation läuft völlig in Ordnung.
Für alle meine anderen Sprite-Knoten initialisiere ich mit SKSpriteNode(imageNamed: "imageName")
mit dem Image-Namen aus dem Asset-Katalog, aber nicht in einem Textur-Atlas. Alle Bilder haben @ 1x, @ 2x und @ 3x Versionen.
Ich bin nicht sicher, ob es andere mögliche Quellen für die Fehlermeldung gibt, oder ob die obigen Beispiele die Fehlerquellen sind.
Ist das nur ein Fehler mit Sprite-Kit oder ein berechtigter Fehler mit meinem Code oder Assets?
Danke!
Dieser Fehler bleibt in Xcode 7.3 Beta. C'mon Apple –
Dies geht "weg", wenn Texturen direkt aus Atlanten geladen werden, und nicht mit 'initWithImagedNamed: @" somestring "' und ähnlichem. – Jonny