Renlentir un programme

flouny Messages postés 7 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 17 mars 2005 - 11 févr. 2005 à 13:17
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 - 20 févr. 2005 à 18:08
je cherche une ligne du commande afin de voir se déplacer un objet. En fet je deplace un symple rectangle a l'aide d'une boucle for mais quand j'exécute mon programme la barre se trouve déja à sa position finale si quelq'un pourais m'aider
MERCI D AVANCE

Floune

4 réponses

cid019 Messages postés 237 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 11 juillet 2006
11 févr. 2005 à 13:22
je suppose que pour deplacer ton rectangle tu utilises un thread. Je penses donc dans ce cas que tu pourrais modif le timer de ton thread.

cid019
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
11 févr. 2005 à 13:41
Salut



Mets des Thread.sleep(temps_ms) avec le catch de InterruptedException.
Et sinon met un flag avant de démarrer ta fonction ou un timer ...



@+
0
flouny Messages postés 7 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 17 mars 2005
20 févr. 2005 à 16:27
Le probleme c'est que je sais pas commen utiliser les thread..... si je te met mon debut de prog ya moyen que tu me donne un exemple:

import javax.swing.* ;
import java.awt.* ;


//Créer une fenetre
class MaFenetre extends JFrame
{ MaFenetre ()
{ setTitle ("Pong") ;
setSize (400, 250) ;
setLocation (300,200);
pan = new Paneau() ;
pan.setBackground(Color.green);
getContentPane().add(pan) ;
}
private JPanel pan ;
}



//Raquettes des 2 joueurs
class Paneau extends JPanel
{ public void paintComponent(Graphics g)
{
int i,X1=75,X2=75;
//Raquettes des 2 joueurs

for (i=0;i<10 ;i++ )
{
super.paintComponent(g) ;
X1=X1+10;
X2=X2-7;
g.setColor (Color.black) ;
g.fillRect (2,X1, 5, 40) ; // forme de la raquette joueur 1 (gauche)
g.setColor (Color.blue) ;
g.fillRect (385,X2, 5, 40) ; // forme de la raquette joueur 2 (droite)
}
}
}


//Affiche le fenetre
public class Pong
{ public static void main (String args[])
{
MaFenetre fen = new MaFenetre() ;
fen.setVisible(true) ;
}
}

Merci d'anvance mais je pense encore avoir besoin de vo compétences rien que pour déplacer les raquettes a l'aide du claver

Merci
Florian
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
20 févr. 2005 à 18:08
Salut



Insére simplement les instructions suivantes aux différents endroits que tu désires ralentir volontairement :



try {

Thread.sleep(1000); // millisecondes

} catch (InterruptedException e){

e.printstacktrace();

}



Pour ce qui est du clavier, regarde les différentes sources sur le site
et notamment les jeux de GodConan qui utilise ces fonctions an plus ça
tombe bien puisque tu fais un jeu également !!! ;-)



@+
0
Rejoignez-nous