Gérer différents objets dans mon onTouchEvent
Bonjour,
Je suis en train de créer un programme où différents objet apparaissent sur l'écran et se déplace.
J'aimerais que dès que l'on clique sur un des objets une action se réalise. Pour l'instant seul le premier objet qui apparaît est géré par la fonction que voici :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| // Gère les touchés sur l'écran
@Override
public boolean onTouchEvent(MotionEvent event) {
int currentX = (int)event.getX();
int currentY = (int)event.getY();
switch (event.getAction()) {
// code exécuté lorsque le doigt touche l'écran.
case MotionEvent.ACTION_DOWN:
// si le doigt touche l'objet :
for (int i = 0; i < tabMonstre.size(); i++) {
Log.i("Monstre,", " num : " + i);
//si les coordonnées du toucher correspondent à la position de l'objet
if (currentX >= tabMonstre.get(i).getX() &&
currentX <= tabMonstre.get(i).getX() + tabMonstre.get(i).getBalleW() &&
currentY >= tabMonstre.get(i).getY() && currentY <= tabMonstre.get(i).getY() + tabMonstre.get(i).getBalleH()) {
// on arrête de déplacer la balle
tabMonstre.remove(i);
score++;
}
break;
}
}
return true; // On retourne "true" pour indiquer qu'on a géré l'évènement
} |
Mes objet sont stocké dans une liste "tabMonstre" et à chaque fois que je touche l'objet il est censé disparaître et cela le fait seulement à celui d'id 0
Avez vous une idée ?
Merci d'avance.