Application basique (Bille + accelero)

Fermé
Clemsouuu Messages postés 787 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 24 décembre 2017 - 5 avril 2015 à 22:20
Clemsouuu Messages postés 787 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 24 décembre 2017 - 7 avril 2015 à 22:29
Bonjour/Bonsoir,

Je travaille actuellement sur un projet tout simple pour apprendre la programmation sur android et j'ai du mal sur une réflexion. (Je ne veux pas le code mais juste la manière dont je devrait réfléchir)

En fait je voudrais simplement déplacer une bille avec l'accélèromètre du téléphone. J'ai définis au préalable un objet bille, et mon accélèromètre.

Pour déplacer ma bille pour le moment, je prends simplement la position actuelle de la bille + l'inclinaison du téléphone (Soit le X et le Y donné par l'accèléromètre)

Mon problème étant que ma bille ne reste pas en position stable quand je place mon téléphone a plat. J'ai donc penser à vérifier avec un if si mon X et mon Y de l'accèléromètre sont compris entre -1 et 1. Et si les variable précédentes sont comprises entre ces chiffres, je définis la position de la bille a la position actuelle. Seulement je ne sais pas comment faire. Car si je prends la position de la bille, puisqu'elle est toujours en mouvement, elle le reste.

J'ai donc penser a tout autre chose en utilisant la formule de gravité suivant : -1/2gt²+z avec les paramètres suivants : g inclinaison du téléphone
t étant le temps
et z la position actuelle de la bille.

Mais de meme je ne parviens pas a mettre en place dans mon application

(Ps: Je souhaite juste que vous m'aidiez a réfléchir :))

Merci d'avance.


2 réponses

Clemsouuu Messages postés 787 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 24 décembre 2017 130
6 avril 2015 à 13:40
Up svp si quelqu'un a la soluce :/ Merci d'avance
0
BunoCS Messages postés 15495 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 octobre 2024 3 909
7 avril 2015 à 16:01
Hello,
Je n'ai pas joué avec l'accéléromètre mais souvent on rajoute une certaine tolérance/marge. En gros, tant que le "déplacement" n'est pas supérieur à une certaine valeur, on ne prend pas en compte la donnée.
0
Clemsouuu Messages postés 787 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 24 décembre 2017 130
7 avril 2015 à 22:29
Justement j'y ai pense et j'ai définit comme marge -1;1. Aussi bien en x que en y. Et si x et y sont compris entre -1/1 je garde la position actuelle. Seulement ma
Bille retourne à sa position initiale.

De plus pour le moment pour déplacer la bille, j'ajoute sa position actuelle à l'inclinaison donne par l'accelero. Sauf que si je pose la bille décale à droite sans raison. Accelero normalement bien calibré et pb sur plusieurs téléphones.

Mon code pour la déplacer donne globalement.

Tout les 50 ms :
Bouge la bille : en x -> ballx + inclinaisonXAccelero
En y -> ballY + inclinaisonYAccelero
Et si x et y appartiennent à -1;1
Alors set xball to xball
Set yball to yball
Fin si

Ou est erreur d'après vous ?

Merci pour votre réponse.



--
0