【发布时间】:2016-01-20 03:43:54
【问题描述】:
如何让程序中的随机数随着时间的推移不断变化(即每次我想使用它时都在该范围内成为一个新的)?
我被难住了。我已经阅读了 20 多篇关于如何用这种语言生成随机数的不同帖子和文章(我对这门语言很陌生),但我似乎无法让它发挥作用。
我基本上是在尝试从 1.0-3.0 中获取随机双精度。我可以很容易地做到这一点,但是一旦它选择了那个数字,它就不会改变。这是我使用的代码:
var randomNumber:Double = (Double(arc4random() % 3) + 1);
然后我将其用作该行的值:
SKAction.waitForDuration(randomNumber)
每次运行时我都想再次更改数字,但是一旦程序启动它会继续使用相同的数字(每次重置程序时都不一样)
我知道如何生成号码,但我似乎找不到任何更新它的信息!
我已经尝试添加
randomNumber = (Double(arc4random() % 3) + 1);
将代码放入将运行多次的地方,但它仍然给我同样的东西。
我对 c++ 非常熟悉,所以如果你想解释一些东西,你可以参考它的风格,我很可能会理解。
【问题讨论】:
-
记住
randomNumber是一个变量,而不是函数指针,所以当你说SKAction.waitForDuration(randomNumber)时,你实际上是在说varrandomNumber = 3; SKAction.waitForDuration(3)。你需要首先创建一个新的随机数,然后用这个新的随机数创建一个新的 waifForDuration,并将这个新的动作添加到精灵中
标签: ios swift random arc4random