【发布时间】:2014-07-07 12:20:57
【问题描述】:
以前,在 Objective-C 中,我可以使用 performSelector: 在随机时间段(可能在 1-3 秒之间变化)后重复一个动作。但由于我无法使用 performSelector: 在 Swift 中,我尝试使用“NSTimer.scheduledTimerWithTimeInterval”。它可以重复操作。但有一个问题。设置时间变量以调用将生成随机数的函数。但似乎 NSTimer 每次重复操作时都使用相同的数字。
这意味着该动作不是随机执行的,而是在游戏开始时随机生成的一段时间后执行,并在整个游戏过程中使用。
问题是:有没有办法设置 NSTimer 在每次执行操作时创建一个随机数?还是我应该使用不同的方法?谢谢!
【问题讨论】:
-
如果你在定时器运行后调用的选择器中重新创建定时器会怎样?
-
在 sprite kit 或 cocos2d 中使用 skactions 或 update:,从不使用 nstimer、gcd dispatch 或 performselector,详情见这里:stackoverflow.com/a/23978854/201863
-
@LearnCocos2D 你能帮我把这段代码翻译成 Swift 吗?谢谢!
-
到目前为止我还没有接触过swift......
标签: random swift sprite-kit nstimer performselector