Ich habe ein Objective-C-basiertes Projekt in Xcode. Ich versuche, eine SpriteKit-Szene als eine kleinere Ansicht in einem View-Controller hinzuzufügen. Die SpriteKit-Dateien sind jedoch schnell. Ich habe Floor1.sks hinzugefügt und mit Floor1.swift verknüpft.Swift SKScene wird im Objective-C-Projekt als leer angezeigt
Jetzt versuche ich es in meine Objective-C ViewController.m Datei zu laden. In meinem Storyboard machte ich den Blick auf die Klasse SKView, und ich glaube, ich habe eine Bridging-Header-Datei erstellt. Mein Code es zur Zeit einzufügen ist:
GKScene *scene = [GKScene sceneWithFileNamed:@"Floor1"];
Floor1 *sceneNode = (Floor1 *)scene.rootNode;
sceneNode.scaleMode = SKSceneScaleModeAspectFit;
SKView *skView = (SKView *)_skView;
[skView presentScene:sceneNode];
skView.showsFPS = YES;
skView.showsNodeCount = YES;
Die Ansicht Lasten, wenn ich die App erfolgreich ausgeführt werden, aber es ist nur eine leere Ansicht mit einem hellgrauen Hintergrund mit der Knotenzahl, die gleich 0 ist, und die FPS. Was mache ich falsch, wie kommt es, dass es meine Sichtweise nicht belastet?
Setzen Sie einen Haltepunkt und prüfen Sie, ob die Szene initialisiert wird. Übrigens, was ist das Floor1 (was ist scene.rootNode)? – Whirlwind
@Whirlwind Floor1 ist der Name meiner Szene. Es gibt Floor1.sks und Floor1.swift. In den Sks habe ich die Custom Class auf die swift-Datei eingestellt. Und damit der Code meine Ansicht lädt (der einzige Code in meiner Frage ^^), wird er einfach in mein Projekt kopiert/eingefügt. Ich kann es anscheinend nicht zum Laufen bringen, aber –
Warum lädst du dann GKScene von Floor1.sks? Ihr Code ist ein wenig verwirrend. Zum Beispiel scheint es, dass Ihre Szene eine Eigenschaft rootNode hat, die auch Szene ist. Du kannst keine Szene in einer Szene haben. Ich meine theoretisch können Sie, aber Szene, die als Kind zu einer anderen Szene hinzugefügt wird, wird als gewöhnlicher Knoten fungieren. – Whirlwind