【发布时间】:2026-01-28 10:40:01
【问题描述】:
我想知道最好的方法是:
你有这个功能:
- (void)launchAirplane:(int)whichAirplane {
// Add score lables
// Start particle effect
// Move airplane (whichAirplane)
// Remove airplan
}
您有 10 架飞机,它们彼此相邻。每架飞机应该在前一架飞机之后延迟 0.1 秒发射。所以飞机 1 在 0 秒后发射,飞机 2 在 0.1 秒后发射,飞机 3 在 0.2 秒后发射,等等。
所以有几种方法可以做到这一点:
- 将 GCD 与 dispatch_after 一起使用(但 dispatch_after 非常不准确,我注意到 0.1 秒的延迟可能相差高达 30 %)。
- NSTimer
- CADiplay 链接。
【问题讨论】:
-
我想你回答了你自己的问题。如果使用得当且简单,NSTimer 是可靠的。在发送第 10 架飞机后停止计时器。 *.com/questions/8172473/…
-
在延迟后使用 performSelector 怎么样?
标签: ios objective-c