Bonjour,
Je dois réaliser un simulateur de feu d'artifice en Java et je suis tombé sur un problème dont je ne trouve pas de solution.
Je dois pouvoir arrêter la simulation après l'avoir démarré et je ne vois pas comment faire car ma simulation fonctionne de la manière suivante :
- Je clique sur un bouton qui lance la simulation.
- Ce bouton lance une fonction.
- Cette fonction va actualiser un canvas à l'aide d'une boucle for et d'un thread.
Donc le problème, c'est qu'au moment où je clique sur le bouton "Lancer Simulation", je n'ai pas d’accessibilité sur mon programme avant la fin de la boucle for qui actualise mon canvas, donc je ne peux pas me servir d'un autre bouton pour arrêter la simulation, ou du moins, je ne vois pas comment faire.
Mon code :Quelqu'un saurait-il m'expliquer comment 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 void LancerSimulation() { actualisersimulation(); //TEST System.out.println("TEST -> FIN SIMULATION"); } void actualisersimulation() { for (time = 0; time < 500; time = time + 1) { Simulateur.ActualiseObj(Simulateur.Artifice(tabArtifice, tabLignedeTir, tabAltitude, tabCouleurArtifice, tabRetard)); try { Thread.sleep(25); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
Merci d'avance pour votre aide.
Partager