gestion des contrôles - Java - Programmation
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.
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.