gpt4 book ai didi

uiview - 我如何从 SKScene 切换到 UIView

转载 作者:行者123 更新时间:2023-12-01 06:30:17 25 4
gpt4 key购买 nike

我正在使用 Sprite 工具包框架来创建游戏。
我的第一个场景是 MyScene。我的场景是一个菜单,但我希望在单击开始时切换到 Storyboard的第一个 View 。

这就是我切换到另一个 SKScene 的方式

Scene001 *start = [[Scene001 alloc] initWithSize:self.size];
SKTransition *reveal = [SKTransition fadeWithColor:[UIColor clearColor] duration:0.5];
[self.scene.view presentScene: start transition: reveal];

现在的问题是如何切换到 Storyboard 场景,反之亦然。

最佳答案

我知道这是旧的,但以防有人遇到它并需要答案:

我在游戏中所做的就是让我的 GameViewController 成为 SKScene 的代表。当用户在 SKScene 中完成后,我在 GameViewController 中调用了我的委托(delegate)函数,它只是执行了 performSegueWithIdentifier。
创建场景的 viewController 可以运行 segue。所以你需要一种方法从你的 SKScene 中恢复它。只需让您的 SKScene 成为委托(delegate),当您的 viewController 创建它时,设置委托(delegate)。然后当你想切换时,调用委托(delegate)函数。

这是创建我的场景的 GameViewController:

 - (void)viewWillAppear:(BOOL)animated {
SKView * skView = (SKView *)self.view;

if (!skView.scene) {
MyScene *scene = [MyScene sceneWithSize:self.view.bounds.size];
scene.delegate = self;
[skView presentScene:scene];
}
}

// A delegate function
- (void)onExitGame {
[self performSegueWithIdentifier:@"GoToNextScene" sender:self];
}

然后,当您准备好切换 Storyboard 时,从我的 MyScene 调用委托(delegate)函数:
if (self.delegate) {
self.delegate.onExitGame();
}

关于uiview - 我如何从 SKScene 切换到 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22793971/

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