[Java] Comment ralentir une boucle Java ?

Comment ralentir une boucle Java ? [Java] - Java - Programmation

Marsh Posté le 21-11-2006 à 18:31:11    

Bien voila!
Je suppose que la réponce est trivial mais bon :
Je suis en train de programmer un jeux et j'ai un probleme.
 
Bien mon jeux fonctionne sur une boucle (JAVA) qui réactualise l'écrans.
Dans cette même boucle je calcule les coordonées des object a tracer sur l'ecrans  
 
Mon probleme est que ma boucle s'execute beaucoups trops vite! (pompant tout le CPU au passage ^_° )
J'ai donc essayer en premier lieux la commande "wait" ..
(LA la boucle ne s'execute qu'une fois >.< a mon grand damne >.< )
 
Puis Je me suis dit (apres un bref regard a l'Api ) QUe ce n'etait pas la plus adaptée ...
J'ai donc essayer la comande "Sleep"  .....
La commande sleep ralentis bel et bie nma boucle .. mais helas Ma frame n'est plus réactualiser (J'ai essayer de placer mon sleep a 3 endroit différent :
Au debut de ma boucle,
Tout a la fin,
Dans la methode PaintComponent (dans mon extention de JPAnel)  
 
 
 
Voici une description de ma boucle (si sa peut aider)
On Calcule
   // 1 LES CHOCS
   // 2 nouvelles vitesse (touche enfoncée ?)
   // 3 LA nouvelle POSTION des object.
 
Puis
   // REPAINT
   // SLEEP
 :bounce:  :bounce:  
Voili voila :o  
Merci a ceux qui se creuseraient la tête avec moi ^_°  ^^  Pasque moi je continue a chercher .....  
Si je trouve je viendrai reposter sur ce forum ma solution (pour les suivant :o).
 
 
(PS : Mon jeux est tt simple en fait .. un grand cercle, dans lequel chaque joueurs a un point (de 10 pixel +-)  et le but est de foncer dans les autre pour les expulser du cercle :o   (pour ceux que sa interesse) ...... c'est pour sa que j'ai besoins de quelque chose de dynamique)
 

Reply

Marsh Posté le 21-11-2006 à 18:31:11   

Reply

Marsh Posté le 21-11-2006 à 19:36:07    

Il y a les timers qui sont fait pour ça: tu les programmes et ils te générer un évènement (calculs par exemple) à des intervalles reguliers.
Mais si j'etais toi je commencerais à separer en deux classes: le panel qui est la pour afficher et tes objets à cotés avec gestions des mouvements etc. (avec un thread peut etre)...

Reply

Marsh Posté le 21-11-2006 à 19:44:34    

_PakMan_ a écrit :


Mais si j'etais toi


ouais mais tu n'es pas lui  [:w3c compliant]

 

Cadeau : http://fivedots.coe.psu.ac.th/~ad/jg/ (il y a un chapitre sur un moteur de base)

Message cité 1 fois
Message édité par zapan666 le 21-11-2006 à 19:47:25

---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 21-11-2006 à 19:49:29    

zapan666 a écrit :

ouais mais tu n'es pas lui  [:w3c compliant]  


hum hum....  [:axlrose]  
 
C'est ça qui est marrant avec toi... c'est qu'à chaque fois tu nous fait marrer  [:k@nt]  

Reply

Marsh Posté le 21-11-2006 à 20:47:59    

Ralentir une boucle pour un jeu.... hum.. normal que ça freeze ton interface.

 

Documente toi sur les Threads, avec un poil de rigueur tu t'en sortiras sans probleme


Message édité par -ThX- le 03-12-2006 à 02:23:03
Reply

Marsh Posté le 23-11-2006 à 09:36:31    

Merci beaucoup ^^   Je vais essayer ^^  
vive vous lol ^^  
 
:o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed