Bonjour,
Je cherche un moyen pour faire bouger une image vers là où je tape sur mon écran avec l'animation du déplacement.
Par exemple, mon image(le draw de mon drawable) est à la position (0;0) et je souhaite la faire déplacer à (50;0). Il faudrait donc que mon image passe par (1;0) puis (2;0) puis (3;0)

Pour cela j'ai tenté de faire :

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
public void onDraw(Canvas canvas) {
 image.drawImage(canvas);
}
 
 public boolean onTouch(View view, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            int x = (int) event.getX();
            int y = (int) event.getY();
            move(x,y);
        }
}
 
 
//Ne gère pas l'axe des Y mais seulement l'axe des X
 public void move(int x, int y){
          while (image.getX() != x) {
            image.setX(image.getX() + 1); 
            invalidate();
        }
}
Le code fonctionne mais ne me fait pas "l'animation" du déplacement. Je remarque donc que l'invalidate n'est lancé que lorsque la boucle while est terminé. Ce qui fait que mon image, au lieu de se déplacer, se téléporte...
Je bloque dessus et c'est rageant lol.
Merci de votre aide !