1 votes

Les touches de flèche semblent être bloquées sur?

Je ne suis pas sûr de comment cela se produit, mais quand je fais défiler l'écran avec les touches de direction, occasionnellement, l'écran se mettra à défiler dans une direction, même sans que je n'appuie sur les touches. On dirait que les touches sont bloquées. Cela n'arrive que dans Company of Heroes et nulle part ailleurs.

Si j'appuie sur la touche de direction correspondant à la direction dans laquelle l'écran défile, ce phénomène s'arrête.

Est-ce que quelqu'un peut m'aider à faire en sorte que cela cesse?

-1voto

gentmatt Points 46446

Cela signifie que l'événement de relâchement de la flèche vers le haut n'a jamais été enregistré.

La plupart du temps, cette implémentation se fait comme suit :

void onkeydown(KeyBoardEvent e){
    if(e.getKey()==K_ARROW_UP){
        startScroll(up);
    }else if(e.getKey()==K_ARROW_DOWN){
        startScroll(down);
    }
}

void onkeyup(KeyBoardEvent e){
    if(e.getKey()==K_ARROW_UP){
        stopScroll();
    }else if(e.getKey()==K_ARROW_DOWN){
        stopScroll();
    }
}

startScroll() peut être appelée (accessoirement) plusieurs fois sans problème, ou stopscroll() arrêtera tout le défilement, ou il y a un problème de threading.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X