Iro*_*one 5 sprite-kit skaction swift3
抱歉,如果这听起来太原始了。我似乎真的不明白等待 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
Run Code Online (Sandbox Code Playgroud)
我不确定如何协调上述内容来计算 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
Run Code Online (Sandbox Code Playgroud)
因此,如果您希望等待时间在 1.0 到 2.0 秒之间,请使用
SKAction.wait(forDuration: 1.5, withRange: 1.0)
Run Code Online (Sandbox Code Playgroud)
对于 0.2 到 0.8 秒之间的时间,使用
SKAction.wait(forDuration: 0.5, withRange: 0.6)
Run Code Online (Sandbox Code Playgroud)
计算 forDuration 和 withRange 值的通用公式如下:
forDuration = t_min + (t_max - t_min) / 2
withRange = (t_max - t_min)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
246 次 |
| 最近记录: |