抱歉,这听起来太原始了。我真的不知道如何等待SKAction在一定范围内工作。我看过几篇文章,但据我所知,他们并没有清楚地解释如何计算我的范围。例如,我看到了以下范围:
SKAction.wait(forDuration: 2.5, withRange: 3.0), //Wait between 1.0 and 4.0 seconds
SKAction.wait(forDuration: 0.65, withRange: 0.7),//Wait between 0.3 and 1.0 seconds
我不确定如何协调以上内容以计算1.0到2.0秒到0.2到0.8秒之间的等待时间。
最佳答案
forDuration
时间是操作的平均时间。 withRange
时间给出了forDuration
时间两侧的容差。
将withRange
时间除以2,然后从forDuration
时间中加/减。
SKAction.wait(forDuration: 2.5, withRange: 3.0), //Wait between 1.0 and 4.0 seconds
//3.0 / 2 = 1.5; 2.5 - 1.5 = 1.0; 2.5 + 1.5 = 4.0
SKAction.wait(forDuration: 0.65, withRange: 0.7),//Wait between 0.3 and 1.0 seconds
//0.7 / 2 = 0.35; 0.65 - 0.35 = 0.3; 0.65 + .035 = 1.0
因此,如果您希望等待时间介于1.0到2.0秒之间,请使用
SKAction.wait(forDuration: 1.5, withRange: 1.0)
对于0.2到0.8秒之间的时间,请使用
SKAction.wait(forDuration: 0.5, withRange: 0.6)
计算forDuration和withRange值的一般公式是:
forDuration = t_min + (t_max - t_min) / 2
withRange = (t_max - t_min)