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 :
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
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 }
Avez vous une idée ?
Merci d'avance.
Partager