gpt4 book ai didi

swift - 等待持续时间减少参数

转载 作者:行者123 更新时间:2023-11-30 10:06:52 24 4
gpt4 key购买 nike

我想减少 SKAction.waitForDuration(X) 的参数。

我正在使用 Flappy Bird 教程(https://www.youtube.com/watch?v=RjUvEiNxWfc - 请参阅第 7 分钟),我想做类似的事情

var timeToWait:Int = 8

let spawn = SKAction.runBlock({
() in

self.createWalls()
timeToWait--
})

let delay = SKAction.waitForDuration(timeToWait)
let SpawnDelay = SKAction.sequence([spawn, delay])
let spawnDelayForever = SKAction.repeatActionForever(SpawnDelay)
self.runAction(spawnDelayForever)

但是,waitForDuration 的参数是 NSTimer,而不是 float 。我可以做什么来更改该参数?

谢谢!

最佳答案

waitForDuration 需要一个 NSTimeInterval 类型的值。

当您将 timeToWait 传递给函数时,您可以键入强制转换 timeToWait:

let delay = SKAction.waitForDuration(NSTimeInterval(timeToWait))

顺便说一句,您的代码似乎想要减少每次生成之间的延迟,但它不会这样做,因为 timeDelay 是在您创建延迟操作时捕获的,并且如果您之后修改变量,则不会更改该操作的持续时间。

[编辑]

下面是一个以周期为单位加快产卵间隔(从 8 到 1)的示例:

  let spawn = SKAction.runBlock({ self.createWalls() })

var spawnCycle:[SKAction] = []
for timeToWait in (1...8).reverse()
{
spawnCycle.append(spawn)
spawnCycle.append(SKAction.waitForDuration(NSTimeInterval(timeToWait)))
}

self.runAction(SKAction.repeatActionForever(SKAction.sequence(spawnCycle)))

关于swift - 等待持续时间减少参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35444275/

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