菜鸟教程小白 发表于 2022-12-12 22:17:17

ios - 阶段完成后保持奖金


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

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

<pre><code> -(id)initWithSize:(CGSize)size level:(int)level {
if (self = ) {

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

    NSDictionary *config=[NSDictionary dictionaryWithContentsOfFile:
                        [pathForResource:
                           @&#34;Levels&#34; ofType:@&#34;plist&#34;]];
</code></pre>

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

<pre><code>-(id)initWithSize:(CGSize)size level:(int)level {
if (self = ) {

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

    NSDictionary *config=[NSDictionary dictionaryWithContentsOfFile:
                        [pathForResource:
                           @&#34;Levels&#34; ofType:@&#34;plist&#34;]];

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

    }

    _level=level;
</code></pre>

<p>游戏获胜</p>

<pre><code> GameLevelScene *newScene = [ initWithSize:self.size
                                          level:_level+1];
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>有几种方法可以做到这一点。我不知道你的完整代码,所以我认为使用 <code>NSUserDefaults</code> 可能是你情况下最安全的选择。</p>

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

<pre><code>NSString *valueToSave = ;
[ setObject:valueToSave forKey:@&#34;Power1&#34;];
[synchronize];
</code></pre>

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

<pre><code>NSString *savedValue = [ stringForKey:@&#34;Power1&#34;];
if(!savedValue)
{
    NSLog(@&#34;no value saved&#34;);
} else {
    long someIntValue = ;
}
</code></pre>

<p>如果你对 NSUserDefaults 有点陌生,你应该阅读 <a href="https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html" rel="noreferrer noopener nofollow">NSUserDefaults Class Reference</a> .</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 阶段完成后保持奖金,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/23706523/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/23706523/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 阶段完成后保持奖金