如何在 iOS 中从 UIView 转移到 SKScene
How transfer from UIView to SKScene in iOS
我想在 Apple 上使用 SpriteKit 开发游戏 iOS platform.My 游戏有一个设置页面,其中包含标签、按钮、table 视图,...和一个游戏 page.In 我的测试,第一页是设置,当玩家按下 "Start" 时,游戏会 begin.I 不知道如何转移到游戏场景,我不知道我的问题在哪里,也许是因为我是 SpriteKit 的新手。
我的设置页面是故事板中的起始页面,默认情况下它连接到 GameViewController,当我按下 "Start" 按钮时,我在最后一行出现错误,程序将停止。我想在新视图中加载我的游戏场景,但我遇到了问题。
这是我的代码:
-(IBAction)btn_startGame:(id)sender
{
SKView* skView = (SKView*)self.view;
SKScene* obj_gameScene = [MyScene sceneWithSize:skView.bounds.size];
obj_gameScene.scaleMode = SKSceneScaleModeAspectFill;
SKTransition *transition = [SKTransition flipVerticalWithDuration:0.5];
[skView presentScene:obj_gameScene];
}
这是错误:
2016-01-21 06:06:40.201 test_myGame[605:5321] -[UIView presentScene:]:
unrecognized selector sent to instance 0x7fd809fcf570 2016-01-21
06:06:40.207 test_myGame[605:5321] *** Terminating app due to uncaught
exception 'NSInvalidArgumentException', reason: '-[UIView
presentScene:]: unrecognized selector sent to instance 0x7fd809fcf570'
您必须确保您的 GameController 的视图是 SKView 而不是 UIView。
您可以查看故事板:
Select ViewController 的视图(左侧)并检查类型(右侧)。
在我的示例中,我创建了一个自定义 class GameMainView,它继承自 SKView。
我想在 Apple 上使用 SpriteKit 开发游戏 iOS platform.My 游戏有一个设置页面,其中包含标签、按钮、table 视图,...和一个游戏 page.In 我的测试,第一页是设置,当玩家按下 "Start" 时,游戏会 begin.I 不知道如何转移到游戏场景,我不知道我的问题在哪里,也许是因为我是 SpriteKit 的新手。 我的设置页面是故事板中的起始页面,默认情况下它连接到 GameViewController,当我按下 "Start" 按钮时,我在最后一行出现错误,程序将停止。我想在新视图中加载我的游戏场景,但我遇到了问题。 这是我的代码:
-(IBAction)btn_startGame:(id)sender
{
SKView* skView = (SKView*)self.view;
SKScene* obj_gameScene = [MyScene sceneWithSize:skView.bounds.size];
obj_gameScene.scaleMode = SKSceneScaleModeAspectFill;
SKTransition *transition = [SKTransition flipVerticalWithDuration:0.5];
[skView presentScene:obj_gameScene];
}
这是错误:
2016-01-21 06:06:40.201 test_myGame[605:5321] -[UIView presentScene:]: unrecognized selector sent to instance 0x7fd809fcf570 2016-01-21 06:06:40.207 test_myGame[605:5321] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView presentScene:]: unrecognized selector sent to instance 0x7fd809fcf570'
您必须确保您的 GameController 的视图是 SKView 而不是 UIView。
您可以查看故事板:
Select ViewController 的视图(左侧)并检查类型(右侧)。
在我的示例中,我创建了一个自定义 class GameMainView,它继承自 SKView。