最終更新: llysfactoryll 2013年06月18日(火) 22:40:09履歴
<<画面へのタッチを捕捉する
さて、ノーム・メトロにするためには、前回のタッチとの、時間間隔(interval)を求めないといけない。
時間間隔から、テンポに換算するルーチンを考えてみよう。
取得した時間は、ミリ秒だから、秒に直す。
それを逆数にして、1秒間に何回タッチされたか?にする。
テンポは1分間に何個か?だから、60をかける。
最後に四捨五入して、整数化している。
画面にタッチされたときに、今のテンポを表示するには・・
さて、ノーム・メトロにするためには、前回のタッチとの、時間間隔(interval)を求めないといけない。
public class nomeMetro { protected long __last_time = 0; public int Action(long time) { long interval = time - __last_time; __last_time = time; return tempo(interval); }
時間間隔から、テンポに換算するルーチンを考えてみよう。
取得した時間は、ミリ秒だから、秒に直す。
それを逆数にして、1秒間に何回タッチされたか?にする。
テンポは1分間に何個か?だから、60をかける。
最後に四捨五入して、整数化している。
protected int tempo(long interval) { double tempo = 60.0 / (double)interval * 1000.0; return (int)Math.round(tempo); } }
画面にタッチされたときに、今のテンポを表示するには・・
public class MainActivity extends Activity { protected void onDown(MotionEvent event) { int tempo = __nomeMetro.Action(event.getEventTime()); tempoNow.setText(String.valueOf(tempo)); } }
平均を求める>>
コメントをかく