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.
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
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
Ah okay danke ich denke – OneTrueSen