我创建了一个超级简单的倒计时应用程序。你按下一个按钮,倒计时就开始了。最终结果计算如下所示:
- 10,0
- 9.999
- 9.998
- 。
每个整数代表一秒钟,所以你可以想象它跑得很快。
当这个循环运行时,如果它发现当前值为 3.0 或 2.0 或 1.0 或 0.0,我在其中有代码来播放声音。
一切都会触发并播放声音,但是它就像哎呀一样小故障。大约 80% 的时间是完美触发的。其余时间要么延迟几分之一秒,要么完全错过。音效对应用程序至关重要。
我已经用准备来正确玩,它没有任何改进。我目前的实现是使用SKTAudio,我觉得这对我的需求来说有点矫枉过正。
有什么建议吗?
请注意一点 - 如果您使用 Double class 来比较两个值,您可能会发现 2.0 值不是真正的 2.0,而是例如 2.0000000001。因此,2 和 2.0000001 是不同的值,您的声音将无法播放
使用可以尝试 smth。
let checkValue: Double = 2 // your comparison value
let timerValue = 2.00000001 //for example
if (timerValue - Double(Int(timerValue))) == 0 && checkValue == timerValue {
print("Cool")
} else {
print("Not cool")
}
或几乎相同
let checkValue: Double = 2 // your comparison value
let timerValue = 2.00000001 //for example
if timerValue == Double(Int(timerValue)) && timerValue == checkValue {
print("Cool")
} else {
print("Not cool")
}