我创建了一个 super 简单的倒计时应用程序。按下按钮,倒数计时开始。最终结果的计算如下所示:
每个整数代表一秒钟,因此您可以想象它运行很快。
运行此循环时,如果它发现当前值为3.0或2.0或1.0或0.0,则其中有代码可以播放声音。
一切都会触发,并且声音会播放,但是却有些毛刺。大约80%的时间是完美触发。其余时间要么延迟一秒钟,要么完全错过。声音效果对应用程序至关重要。
我已经准备好了正常比赛,但没有任何改善。我当前的实现方式是使用 SKTAudio ,我觉得这对于我的需求来说有点过头了。
有什么建议吗?
最佳答案
请注意一下-如果您正在使用Double类比较两个值,则可能会发现2.0值不是实数2.0,例如是2.0000000001。因此,2和2.0000001是不同的值,您的声音将不会播放
使用可能会尝试。喜欢
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")
}