Bonjour.J'ai deux problèmes et j'ai besoin de votre aide.
Mon premier problème c'est que mon jeu fonctionne bien sur l'émulateur de netbeans
(les touches répondent) mais dans un vrai téléphone aucune touche ne donne et je ne sais pourquoi.
Voici le code qui gère les touches:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
  public void keyRepeated(int key) {
        keyPressed(key);
    }
 
    protected void keyPressed(int keyCode) {
    switch (keyCode) {
       case Canvas.KEY_NUM6:
                if ((cx <= x) && (cy == ((height * 16) / 100))) {
                    cx += y;
                } else if ((cx <= ((x1 - 16) + (k * y))) && (cy == ((height * 72) / 100))) {
                    cx += y;
                }
                break;
 
            case Canvas.KEY_NUM4:
                if ((cx >= c1) && (cy == ((height * 16) / 100))) {
                    cx -= y;
                } else if ((cx >= c1) && (cy == ((height * 72) / 100))) {
                    cx -= y;
                }
                break;
 
            default:
                return; // nothing we recognize, exit
 
        }
 
        Van.setPosition(cx, cy);
}
Mon deuxième problème est au niveau de mon timer.
En fait il s'exécute une fois mais j'aimerai qu'il
s'exécute un certain nombre de fois que je déterminerai
bien sur.Dans le genre après le décompte des 40s que ca recommence
le décompte encore à 40s et ainsi de suite.Voici le code du timer:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 
public class clsCanvas extends GameCanvas implements Runnable {
public class Clock extends TimerTask {
 
    int timeLeft;   
 
    public Clock(int maxTime) {
        timeLeft = maxTime;
 
    }
 
    public void run() {
        if (timeLeft > 0) {
            timeLeft--;
        }
    }
 
    public int getTimeLeft() {
        return this.timeLeft;
    }
}
 
public void run() {
 clock = new Clock(40);
 new Timer().schedule(clock, 1000, 1000); 
 
while (globalRunning) {
            g.setColor(0xFFFFFF);
            g.fillRect(0, 0, getWidth(), getHeight());
 
            g.setColor(0x663333);
            g.fillRect(x1, y1, y * nb, y1 * 2);
        showTimeLeft(g);
            // dessin du sprite         
            Van.paint(g);
            flushGraphics();
            try {
                Thread.sleep(30);
            } catch (Exception ex) {
            }
        }
}
 
 private void showTimeLeft(Graphics g) {
 
        // what does the clock say
        int timeLeft = clock.getTimeLeft();
 
        if (timeLeft < 6) {
            g.setColor(0xff0000);
            g.drawString("Time Left: " + timeLeft + " seconds", 0, 0, 0);
        } else {
            g.setColor(0x000000);
            g.drawString("Time Left: " + timeLeft + " seconds", 0, 0, 0);
        }
    } 
 }
Merci de m'aider.