Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1964 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  problème sur les sprites

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème sur les sprites

n°1788443
boss389
Posté le 18-09-2008 à 00:17:25  profilanswer
 

Bonsoir.s'il vous plaît j'ai besoin d'aide.voici ci dessous un bout de code.En fait le bout de code présent comme vous
le constater gère le déplacement du sprite.Ce qui se passe c'est que les déplacements à gauche comme à droite sont trop
rapides.Il faut être très délicat avec la souris pour qu'à chaque click le sprite ne se déplace que d'un cercle sinon le
sprite se déplace de 2 voir 3 cercles.Je ne sais donc pas comment faire pour qu'à chaque fois qu'on appuie que ce soit  
à gauche ou à droite que le sprite se déplace d'un cercle à chaque fois.J'aimerais savoir ce qu'il faut que j'ajoute pour
que les déplacements soient ordonnés.
Merci de me répondre.Comment utiliser les timers?
   
public static final int keyDelay = 10;
 
private boolean[] isDown = {false, false, false, false};
 
private long[] keyTick = {0, 0, 0, 0};
 
private int[] keyValue = {GameCanvas.LEFT_PRESSED, GameCanvas.RIGHT_PRESSED, GameCanvas.FIRE_PRESSED, GameCanvas.UP_PRESSED};
 
private boolean isRunning = true;
 
 public void checkKeys(int iKey, long currTick) {
        long elapsedTick = 0;
        //loop through the keys        
        for (int i = 0; i < 4; i++) {
            // by default, key not pressed by user            
            isDown[i] = false;
            // is user pressing the key            
           if ((iKey & keyValue[i]) != 0) {
                elapsedTick = currTick - keyTick[i];
                //is it time to toggle key state?                
               if (elapsedTick >= keyDelay) {
                    // save the current time                    
                    keyTick[i] = currTick;
                    // toggle the state to down or pressed                    
                    isDown[i] = true;
                }
            }
        }
    }
 
  public void run(){
       c1= a+y;//a correspond à la position en x du sprite et y correspond au diamètre de chaque cercle
       int iKey = 0;
        long lCurrTick = 0;
        // current system time in milliseconds;              
        load();
        g = getGraphics();
        while (isRunning) {
            lCurrTick = System.currentTimeMillis();
            iKey = getKeyStates();
            checkKeys(iKey, lCurrTick);
          if (isDown[fireKey]) {
             isRunning = false;
            }
            // position actuelle du van  
            int cx = Van.getX();
            int cy = Van.getY();
 
 
            if (((iKey & GameCanvas.LEFT_PRESSED) != 0) & (cx >= c1)) {
                Van.setFrame(1);
                // déplacer le van vers la gauche                
                cx -= y;
            }
 
            if (((iKey & GameCanvas.RIGHT_PRESSED) != 0) & (cx < c1)) {
                Van.setFrame(1);
                //déplacer le van vers la droite
                cx += y;
            }
       }
 
Van.setPosition(cx, cy);

mood
Publicité
Posté le 18-09-2008 à 00:17:25  profilanswer
 

n°1788974
artscoop
la fin des temps
Posté le 19-09-2008 à 00:34:58  profilanswer
 

Salut,
Après avoir décrypté ton message...
C'est du code dans une classe dérivée de Thread ?
 
Si oui, première chose, c'est tout sauf conseillé je pense de contrôler un jeu en utilisant des threads.
Si toutefois tu veux conserver cette méthode, peut-être que placer un Thread.sleep() (ou un truc du genre) peut calmer les ardeurs de ton programme.
 
Question : Ton programme, utilise-t-il 100% de processeur ?
 
@+


---------------
Site de rencontre

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  problème sur les sprites

 

Sujets relatifs
Problème avec PHP photo moduleProblème require_once
problème requête updateproblème de contrainte Check à deux tables:
Probleme avec FULLTEXTProblème de synthaxe ...
Netbeans Problème d'ouverture de formulaire sous Matisseproblème de contrainte
Problème avec une boucle forproblème de contrainte:
Plus de sujets relatifs à : problème sur les sprites


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR