首先,我只是开始使用android和java,所以请放纵。
所以,我想做一个"跳跃"探测器在Android设备中使用传感器。 基本上我想使用传感器返回的信息并进行比较以检测用户是否跳过。 物理非常简单,我只需要Y轴的两个非常接近的值(跳跃持续大约一秒)并将这两个值的平均值与'#34;限制值"进行比较。
我的主要问题是我不知道如何从传感器中获取两个不同的值。 我尝试使用System.currentTimeMillis()在非常特定的时刻捕获一个值,并将其与较旧或较新的值进行比较,但它似乎并不能很好地工作。
这是我的代码。
public void onSensorChanged(SensorEvent event) {
acceleration.setText("X: " +event.values[0]+ " Y:" +event.values[1] + "Z: " +event.values[2] +"Nombre de sauts" +saut);
Yacc = event.values[1];
long curTime = System.currentTimeMillis();
long lastUpdate = curTime - 400;
if((curTime - lastUpdate)>390){
lastUpdate = curTime;
float moyY = (Yacc - last_Yacc)/2;
if(moyY > 5){
saut = saut +1;
}
compteur.setText("currenttime " +curTime + " lastUpdate "+ lastUpdate +" saut=" +saut + " Valeur moyenne" +moyY + " saut=" +saut);
}
last_Yacc = Yacc;
}
我事先感谢你们的考虑。