私はAndroidゲーム開発の初心者で、小さなゲームを開発しています。モーションセンサー:加速度計でいくつかの問題に直面しています。
このゲームはランドスケープモードです。スマートフォンが右に傾くと、キャラクターも右になります。(左も同じです)そして、ゲーム内のキャラクターの傾きをやめると、動きが止まるはずです。
しかし、私は加速度計の操作が本当に良いことを理解していません、
これが私のコードです:
@Override
public void onSensorChanged(SensorEvent event) {
synchronized (this) {
long penchement = (long) (event.values[1]- 0.5);
if(penchement>0){
if(penchement>lastUpdate)
lastUpdate=penchement;
if(penchement>0.2){
booldroite=true; // boolean for going right
boolgauche=false; // boolean for going left
}
if(lastUpdate-penchement<0.2)
booldroite=false;
}
else{
if(penchement<lastUpdate)
lastUpdate=penchement;
if(penchement<-0.2){
boolgauche=true;
booldroite=false;
}
if(lastUpdate+penchement>-0.2)
boolgauche=false;
}
}
したがって、私のコードは(少し)機能しますが、キャラクターの動きはまったくスムーズではありません。時々私の電話は傾くが、私のキャラクターは動かない...
よろしくお願いします。