我想创建一个按钮,允许用户点击它,从而设置每分钟的节拍。我也会在它上面上下移动触摸,以调整更快和更慢。(我已经解决了这一点)。
有什么适当的方法来获得用户点击按钮的时间,从而获得按下按钮之间的平均时间,从而计算出节奏。
发布于 2009-11-19 15:06:59
总体上
time.h中的time()而不是NSDate。按照节拍的速度,创建NSDate的开销可能会导致严重的精度损失。我相信time_t的精确度是双倍的,因此在整个屏幕上使用time()和difftime().
两个想法
后处理
自适应
speed,另一个为error.speed.speed errorqueue = Fifo(5) #先进先出队列。尝试#不同的长度值currentBeat = now - timeOflastBeat currentError =| currentError - currentBeat| # adapt error = (error + currentError) /2#你必须试验#currentError应该有多少queue.push(currentBeat) #将最新的速度推入队列#自动删除最早的速度= average(queue)
error小于某个阈值,你就可以停下来告诉用户你已经确定了速度。
使背景颜色与错误相对应。误差越小,颜色越亮。
发布于 2009-11-19 13:58:02
每次按下按钮时,存储当前日期/时间(使用[NSDate date])。然后,下一次按下它时,您可以使用-[previousDate timeIntervalSinceNow]计算差值(负数,因为它从上一个日期中减去当前日期),这将得到秒数。
https://stackoverflow.com/questions/1761171
复制相似问题