self.runAction(SKAction.sequence([ SKAction.waitForDuration(1), SKAction.runBlock({ self.speed = 0; print("pause") }), SKAction.waitForDuration(0.1), SKAction.runBlock({ self.speed = realSpeed; print("resume") }) ]))最后一次滑行不会被调用。
但是当我移除第二个waitForDuration时,最后一个skaction就会被调用。
self.runAction(SKAction.sequence([ SKAction.waitForDuration(1), SKAction.runBlock({ self.speed = 0; print("pause") }), SKAction.runBlock({ self.speed = realSpeed; print("resume") }) ]))这里发生了什么事?
发布于 2015-09-09 22:38:57
节点的speed属性影响在该节点上运行的操作的执行速度。从医生那里,
默认值为1.0,这意味着所有操作都以正常速度运行。如果设置了不同的速度,则对于在节点及其后代上执行的所有操作,时间似乎运行得更快或更慢。例如,如果将速度值设置为2.0,则动作的运行速度是原来的两倍。
在第一个runBlock中,将self的speed属性设置为0。这将导致第二个waitForDuration操作无限慢地运行(假设是actualDuration = duration/speed)。
https://stackoverflow.com/questions/32485107
复制相似问题