Vivent les threads !Là j'ai un beau scrolling fluide, bien plus agréable qu'avant, avec possibilté de faire varier la vitesse facilement (marche ou course).
Je soumets ma technique à validation d'experts:
J'ai créé 2 threads :
- un qui dessine
- un qui augmente la coordonnée y (pour l'instant on ne peut que monter !)
Je les lance comme ça :
C'est conseillé la priorité MAX ? pour les deux ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Affichage affichage = new Affichage(); affichage.setPriority(Thread.MAX_PRIORITY); affichage.start(); Marche marche = new Marche(); marche.setPriority(Thread.MAX_PRIORITY); marche.start();
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 public class Affichage extends Thread { public void run() { while(!quitter) { afficheEcranJeu(); try { Thread.sleep(1000/24); } catch (InterruptedException e) { e.printStackTrace(); } } } } public class Marche extends Thread { public void run() { while(!quitter) { if(marche) pix_y++; try { Thread.sleep(1000/48); // changer la fréquence pour varier la vitesse } catch (InterruptedException e) { e.printStackTrace(); } } } }
on keyPressed : marche = true
on keyReleased : marche = false
Partager