菜鸟教程小白 发表于 2022-12-12 15:29:47

ios - 如何更新 waitForDuration 常量?


                                            <p><p>我有一个闪光灯,它使用隐藏和取消隐藏圆形节点的 SKAction 序列。我希望能够根据两个按钮更改闪烁的间隔。我声明了一个变量 stdTime 并在 touchesBegan 方法中对其进行了更改,但它不起作用。我错过了什么?</p>

<p>我的 didMoveToView:</p>

<pre><code>let blink = SKAction.sequence([
      SKAction.waitForDuration(stdTime),
      SKAction.hide(),
      SKAction.waitForDuration(stdTime),
      SKAction.unhide()])

    let blinkForever = SKAction.repeatActionForever(blink)

    metronome!.runAction(blinkForever)
</code></pre>

<p>和我的接触开始:</p>

<pre><code>if upArrow!.containsPoint(location) {
            stdTime = stdTime + 0.1
            println(&#34;here: \(stdTime)&#34;)
      }
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>waitForDuration 接受 NSTimeInterval 而不是变量。因此,无论该变量在创建时设置为什么时间,它都不会引用您使用的变量。 </p>

<p>根据您正在寻找的结果,这可能会有所帮助。</p>

<pre><code>func startBlink(){
    let blink = SKAction.sequence([
      SKAction.waitForDuration(stdTime),
      SKAction.hide(),
      SKAction.waitForDuration(stdTime),
      SKAction.unhide()])

    let blinkForever = SKAction.repeatActionForever(blink)

    metronome!.removeActionForKey(&#34;blink&#34;)

    metronome!.runAction(blinkForever, withKey: &#34;blink&#34;)
}


if upArrow!.containsPoint(location) {
    stdTime = stdTime + 0.1
    startBlink()
    println(&#34;here: \(stdTime)&#34;)
}
</code></pre>

<p>另一个不中断顺序的选择是做这样的事情</p>

<pre><code>func startBlink(){

    let blink = SKAction.sequence([
      SKAction.waitForDuration(stdTime),
      SKAction.hide(),
      SKAction.waitForDuration(stdTime),
      SKAction.unhide(),
      SKAction.runBlock( {
            self.startBlink()
      })])

    metronome?.runAction(blink, withKey: &#34;blink&#34;)
}


if upArrow!.containsPoint(location) {
      stdTime = stdTime + 0.1
      println(&#34;here: \(stdTime)&#34;)
}
</code></pre>

<p>并自行递归调用该方法。这样每次到达终点时都会采用更新的 stdTime。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何更新 waitForDuration 常量?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/30718284/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/30718284/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何更新 waitForDuration 常量?