【发布时间】:2015-02-19 03:30:26
【问题描述】:
我正在尝试打开一扇门,等待随机时间(在一定范围内)然后关闭。如果我使用 SKAction.waitForDuration,我可以设置确切的等待时间,这很有效。但是,如果我使用 SKAction.waitForDuration (withRange),它总是在范围内的最短时间准确打开。如何让它在范围内的其他时间打开?任何帮助将不胜感激!谢谢!
这是我的代码:
var doorAction = SKAction.moveTo(CGPoint(x: size.width * 0.5, y: size.height + size.height * 1.95), duration: NSTimeInterval(1))
// randomWait should give me a value between 10 & 30, but door always opens at 10
var randomWait = SKAction.waitForDuration(20.0, withRange: 20.0)
// waitAction works fine, but I want a value between 10 and 30
// var waitAction = SKAction.waitForDuration(10)
var doorReturnAction = SKAction.moveTo(CGPoint(x: size.width * 0.5, y: size.height * 2.18), duration: NSTimeInterval(1))
var actionSequence = SKAction.sequence([doorAction, randomWait, doorReturnAction])
self.runAction(actionSequence)
【问题讨论】:
-
从您的代码中,随机等待应该发生在 10 秒到 30 秒的范围内。你是说这不适合你吗?
-
对,等待总是正好 10 秒(如果我使用不同的范围,则为该范围内的最低可用数字)
-
感谢您清理代码的外观,顺便说一句!
-
参数不是范围的两端,它们是平均持续时间,以及可以选择的范围。
标签: swift sprite-kit skaction