gpt4 book ai didi

ios - 没有调用正确的场景 objective-c

转载 作者:行者123 更新时间:2023-11-29 00:24:31 26 4
gpt4 key购买 nike

嗨,我对 Objective C 还很陌生,还没有太多地使用 SpriteKit。我试图找出为什么我的 GameViewController 没有触发我的 MenuScene.m。

这是来 self 的 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

这是我的 MenuScene.m

- (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];
}

我得到的是一个褪色的灰色背景,没有其他任何东西,并且控制台上没有打印任何内容,所以我知道它没有调用我的 MenuScene.m 中的 didMoveToView 方法。另外,如果我更改此行

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

到此

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

它将正确调用 GameScene 文件中的 didMoveToView 方法。抱歉问了这个愚蠢的问题,但我尝试的一切都不起作用。

最佳答案

我猜测虽然您的代码转换 [SKScene nodeWithFileNamed:@"MenuScene"] 到 MenuScene,但不是 实际上是一个 MenuScene,因此没有 MenuScene 代码运行。

关于ios - 没有调用正确的场景 objective-c ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43438671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com