Aller au contenu

Problème avec les sensors


eephyne

Recommended Posts

J'ai un petit souci avec les sensors en ce moment . Je teste des orientations de camera en utilisant les sensors de l'accéléromètre et géomagnétique .

Et il s'avère que les deux retournent de temps en temps (très souvent) la même valeur (alors que ça ne devrait pas)

j'ai déclaré à dans mon onSensorChanged()

if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
gravity = event.values;
} 
if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) {
geomagnetic = event.values;
}

à aucun moment les deux float[] gravity et geomagnetic ne sont mélangés , il ne sont utilisé que pour SensorManager.getRotationMatrix(R,gravity,geomagnetic)

Et encore plus bizarre , autant le problème est minime lorsque j'ai le téléphone branché sur usb au pc (et regardant le logcat) , si je débranche l'usb , ça devient impossible , j'ai peut-être une bonne valeur toutes les deux secondes. (donc ça résulte à un effet lag de mouvement de caméra alors que l'animation se déroule normalement).

Est-ce que quelqu'un à déja eu le même souci ? j'ai esssayé de diminuer la fréquence de reception des valeurs (de GAME à UI) mais ça ne change rien .

Lien vers le commentaire
Partager sur d’autres sites

sigh , j'ai trouvé ....

gravity = event.values; ne fait pas de copie de l'array , une simple loop for comme:

 for (int i=0 ; i<3 ; i++) {
			gravity[i] = event.values[i];
		}

et c'est parti (désolé pour le post , mais si ça peut servir à quelqu'un un jour tant mieux).

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...