gpt4 book ai didi

ios - 将数据从一个 SKScene 传递到下一个

转载 作者:行者123 更新时间:2023-11-29 02:44:06 26 4
gpt4 key购买 nike

所以我正在设计一个游戏。在我的 MenuScene 类中,我有以下内容:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
SKTransition *transition = [SKTransition fadeWithColor:[UIColor colorWithRed:147.0/255.0 green:213.0/255.0 blue:216.0/255.0 alpha:1.0] duration:2.0f];
MyScene *gameScene = [MyScene sceneWithSize:self.size];
[self.view presentScene:gameScene transition:transition];
}

过渡到游戏场景。我需要将一些数据传递给游戏场景。在游戏场景中,它是 MyScene 的一个实例,我有

@interface MyScene()

@property (nonatomic) SKSpriteNode *heli;
@property (nonatomic) int health;
@property (nonatomic) float currentDY;
@property (nonatomic) float gameSpeed;



@end

我希望能够在进入新场景时根据旧场景中用户的输入设置这些属性。在我的研究中,我得出的结论是,我要么想要使用 initWithCoder 或某种其他类型的自定义方法来过渡到场景。我是否需要在我的接口(interface)中添加一个新方法,然后在实现中实现它?我需要如何改变我的游戏场景来接受这个新数据?我是否需要用我的新方法替换 initWithSize,假设它是 initWithSize:andFuel:

有人可以提供一个简单的例子来说明如何在实现和界面中完成吗?

最佳答案

我想指出,我已经解决了我自己的问题,但我要感谢上面的回答者,因为他提出了另一种解决方案。然而,我的解决方案对我来说更有意义。

我所做的就是:

在我的游戏场景中,我创建了一个新方法 initWithSize: fuel: 并以同样的方式调用了 if (self = [super initWithSize:size]) { initWithSize 确实如此。 然后,在我的菜单类中,我替换了

MyScene *gameScene = [MyScene sceneWithSize:self.size];

使用 MyScene *gameScene = [MyScene alloc];

然后 gameScene = [gameScene initWithSize:self.frame.size fuel:1];

到目前为止我还没有遇到任何问题 - 如果我在这里做错了什么,有人可以告诉我吗?这似乎允许我通过创建自定义 init 方法将信息传递到我的下一个场景。

关于ios - 将数据从一个 SKScene 传递到下一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25354504/

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