2017-04-16 1 views
0

Hallo, ich bin ziemlich neu bei Objective C und habe noch nicht viel mit dem SpriteKit gearbeitet. Ich versuche herauszufinden, warum mein GameViewController meine MenuScene.m nicht auslöst.Nicht die richtige Szene ansprechen c

Dies ist aus meinem GameViewController

#import "MenuScene.h" 

@implementation GameViewController 

- (void)viewDidLoad { 
[super viewDidLoad]; 

MenuScene* scene = (MenuScene*)[SKScene nodeWithFileNamed:@"MenuScene"]; 

// Set the scale mode to scale to fit the window 
scene.scaleMode = SKSceneScaleModeAspectFill; 

SKView *skView = (SKView *)self.view; 

// Present the scene 
[skView presentScene:scene]; 

skView.showsFPS = YES; 
skView.showsNodeCount = YES; 
} 
@end 

Dieser von meiner MenuScene.m ist

- (void)didMoveToView:(SKView *)view 
{ 
NSLog(@"In MenuScene.m"); 
CGSize playButtonSize = CGSizeMake(100, 100); 
_playButton = [SKSpriteNode spriteNodeWithColor:[UIColor redColor] size:playButtonSize]; 
_playButton.position = CGPointMake(self.size.height * .5, self.size.width*.5); 
_playButton.name = @"playButtonNode"; 
_playButton.zPosition = 1.0; 
[self addChild:_playButton]; 
} 

Was ich bekomme, ist ein ausgewaschen graue Farbe Hintergrund mit nichts anderem und nichts wird auf der Konsole gedruckt daher weiß ich, dass es die Methode didMoveToView in meiner MenuScene.m nicht aufruft. Auch wenn ich diese Zeile ändern

MenuScene* scene = (MenuScene*)[SKScene nodeWithFileNamed:@"MenuScene"]; 

dieser

GameScene *scene = (GameScene *)[SKScene nodeWithFileNamed:@"GameScene"]; 

es wird richtig die didMoveToView Methode in der GameScene-Datei aufrufen. Sorry für die dumme Frage, aber alles, was ich versuche, wird nicht funktionieren.

Antwort

1

Ich werde erraten, dass, obwohl der Code [SKScene nodeWithFileNamed:@"MenuScene"] zu einem MenuScene wirft, es nicht in der Tat ein MenuScene ist und so kein MenuScene Code ausgeführt wird.

+0

Es ist leicht herauszufinden: Nachdem Sie 'MenuScene * scene 'eingestellt haben, loggen Sie sich ein und sehen Sie, was es ist. Ich wette, es ist 'nil'. – matt

+0

Ja, du hast Recht Ich habe es gerade eingeloggt und der Wert der Szene war null. Wie würde ich gehen, um das zu beheben – OneTrueSen

+0

Ah okay danke ich denke – OneTrueSen

Verwandte Themen