gestion des contrôles

gestion des contrôles - Java - Programmation

Marsh Posté le 02-09-2008 à 14:29:31    

Bonsoir s'il vous plaît j'ai besoin d'aide.Voici une portion de mon code:
 
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();
            int k = 1;
            int c1 = 1;
            if ((iKey & GameCanvas.LEFT_PRESSED) != 0) {
                Van.setFrame(1);
                // déplacer le van vers la gauche                
                cx--;
            }
            while ((k <= 5)) {
                if ((iKey & GameCanvas.RIGHT_PRESSED) != 0) {
                    Van.setFrame(1);
 
                    // déplacer le van vers la droite
                    cx = pos[k];
 
                }
 
                k++;
            }
 
            // mise à jour de la position du van            
            Van.setPosition(cx, cy);
    }
En fait j'ai debuté le developpement sous netbeans et je suis en train de faire une application pour mobile(un jeu).
ce qu'il y'a c'est que comme vous constater quand jappuie sur la touche de droite du telephone mon sprite se retrouve à la derniere  
position(j'ai dessiner une serie de cercles et a chaque fois jai mis la position de chaque cercle dans un tableau appelé POS)c'est à dire au dernier cercle.
Hors moi je voudrais qu'à chaque fois qu'on appuie sur la touche droite, que mon sprite(van) décale à chaque fois à la position suivante pas que ca saute pour se retrouvé à  
la fin.J'ai déjà tout fait sans succès.Au secours je suis désespéré.(pour le moment je travaille encore le déplacement à droite c'est pourquoi vs verez que à gauche ce n'est pas la même chose)
Merci de me répondre.
 
 
 

Reply

Marsh Posté le 02-09-2008 à 14:29:31   

Reply

Marsh Posté le 11-09-2008 à 18:29:00    

ta boucle while met systématiquement cx = pos[5], car ton  
iKey = getKeyStates();
est en dehors de la boucle.
 
de toute façon ça n'a pas de sens de mettre ton test de touche dans une boucle.
Si tu veux tester un appui continu, tu le testes en faisant plusieurs passages dans ton paint() .
 
Bref j'ai l'impression que tu devrais revoir la structure de ton canvas, de ton thread et te renseigner sur la notion d'asynchrone.


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Sujets relatifs:

Leave a Replay

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