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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.