我相对而言比较新于SpriteKit,想知道除了使用CACurrentMediaTime()
来安排事件之外还有哪些替代方法。例如,我可能会实现一个算法,通过将玩家上一次发射的时间加上一定的“冷却”时间,与当前媒体时间进行比较来防止玩家连续发射过多子弹:
BOOL canFire = self.lastFireInterval + self.coolPeriod < CACurrentMediaTime();
我遇到的问题是,如果我决定改变节点或整个场景的
速度
,则这个逻辑就会崩溃。例如,如果我给玩家增加速度提升道具,我可以减慢除了玩家以外的所有其他节点的速度,但是敌人开火的时间会被搞乱。还有哪些替代方案可以考虑
CACurrentMediaTime()
,并且可以考虑节点的速度
?
speed
是多少,waitForDuration:
都会在两秒后执行,对吗? - Wayne Hartman