【问题标题】:SKAction waitForDuration() blocking SKAction sequenceSKAction waitForDuration() 阻塞 SKAction 序列
【发布时间】:2015-12-05 18:00:54
【问题描述】:
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") }) ]))

最后一个 skaction 没有被调用。

但是当我删除第二个 waitForDuration 时,最后一个 skaction 会被调用。

self.runAction(SKAction.sequence([ SKAction.waitForDuration(1), SKAction.runBlock({ self.speed = 0; print("pause") }), SKAction.runBlock({ self.speed = realSpeed; print("resume") }) ]))

这里发生了什么?

【问题讨论】:

    标签: ios sprite-kit skaction


    【解决方案1】:

    节点的speed 属性会影响在该节点上运行的操作的执行速度。从文档中,

    默认值为 1.0,表示所有动作都以正常速度运行。如果您设置不同的速度,则在节点及其后代上执行的所有操作的时间似乎运行得更快或更慢。例如,如果您将速度值设置为 2.0,则操作的运行速度会提高一倍。

    在您的第一个runBlock 中,您将selfspeed 属性设置为0。这会导致第二个waitForDuration 操作无限慢(假设actualDuration = duration/speed)。

    【讨论】:

    猜你喜欢
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 2014-04-30
    相关资源
    最近更新 更多