Bonsoir,
Je viens a vous car je suis en galère sur une phase d'un projet que je développe.
Je souhaite faire déplacer à l'écran un objet (en ligne droite pour l'instant). Pour ce faire j'ai créé une vue que j'ai appelé GameView dans laquelle j'instancie mon objet (en l’occurrence un cercle). Dans cette vue il y'a également la méthode qui est censé se faire se déplacer l'objet seul, c'est à dire la boucle dans laquelle j'incrémente les coordonnées afin qu'il se déplace puis a méthode qui permet d'actualiser la vue avec les nouvelles coordonnés. Dans cette boucle, j'appelle un Thread.sleep afin d'attendre entre chaque tour de boucle dans le but de donner une impression de mouvement (plus ou moins fluide).
Le problème c'est que l'objet ne se rafraichie pas à chaque tour de boucle comme je l’espérais mais a la fin de la boucle donc aucune impression de fluidité ce qui est embêtant car la finalité c'est justement de faire se déplacer mon objet à l'écran tout seul.
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 public void run(){ int i =0; // boolean avancer = true; int devX = 25; for(i=0;i<2;i++){ int x = this.d1.getX(); // x++; this.d1.setX(x+devX); this.invalidate(); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } }
Quelqu'un pourrais t-il m'apporter des conseils sur la façon de faire car je suis vraiment largué. En java normal ça va mais sur android j'ai plus de mal.
D'avance je vous remercie.
Partager