OStack程序员社区-中国程序员成长平台

标题: ios - 阶段完成后保持奖金 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 22:17
标题: ios - 阶段完成后保持奖金

我正在开发一个简单的游戏,你从三个“特殊技能”开始。当您单击按钮时,您有两个左等等,直到您没有。但是,当我进入一个新阶段时,我又回到了第 3 阶段。这是错误的,我想保留与第 1 阶段相同数量的“技能”。

我知道这是因为下面的代码而发生的。我在 initWithSize 中初始化我的“权力”,每次加载舞台时都会调用它。

 -(id)initWithSizeCGSize)size levelint)level {
  if (self = [super initWithSize:size]) {

    power1=33;
    power2=3;
    power3=3;

    NSDictionary *config=[NSDictionary dictionaryWithContentsOfFile:
                          [[NSBundle mainBundle]pathForResource:
                           @"Levels" ofType"plist"]];

我将代码编辑为如下所示。 因此,如果它是第 0 阶段,我的权力会按照我的说明进行初始化,并且当我移动到第 1 阶段时,它会继续。 但是,当我进入第一阶段时,我的能力是空白/零,因为如果我不在阶段零/空白中,我不确定我的 if 条件应该是什么

-(id)initWithSizeCGSize)size levelint)level {
  if (self = [super initWithSize:size]) {

 //   power1=33;
//    power2=3;
//   power3=3;

    NSDictionary *config=[NSDictionary dictionaryWithContentsOfFile:
                          [[NSBundle mainBundle]pathForResource:
                           @"Levels" ofType"plist"]];

    if (level==0) {
      power1=33;
      power2=3;
      power3=3;

    }

    _level=level;

游戏获胜

 GameLevelScene *newScene = [[GameLevelScene alloc] initWithSize:self.size
                                            level:_level+1];



Best Answer-推荐答案


有几种方法可以做到这一点。我不知道你的完整代码,所以我认为使用 NSUserDefaults 可能是你情况下最安全的选择。

在关卡结束时,在进入下一个关卡之前,将你的玩家属性写入 NSUserDefaults,如下所示:

NSString *valueToSave = [NSString stringWithFormat"%i",someIntValue];
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey"ower1"];
[[NSUserDefaults standardUserDefaults]synchronize];

然后在下一级开始时,您可以像这样读回保存的值:

NSString *savedValue = [[NSUserDefaults standardUserDefaults] stringForKey"ower1"];
if(!savedValue)
{
    NSLog(@"no value saved");
} else {
    long someIntValue = [savedValue integerValue];
}

如果你对 NSUserDefaults 有点陌生,你应该阅读 NSUserDefaults Class Reference .

关于ios - 阶段完成后保持奖金,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23706523/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4