Bonjour, je travaille en Pascal avec le logiciel Lazarus pour créer un jeu type "mario"
Pour gérer le déplacement du personnage j'utilise le clavier d'ou l'utilisation de la méthode :
J'ai d'abord pensé que l'erreur venait de mon programme, mais en fait je me suis rendue compte que ça ne détectait tout simplement pas quand j'appuyais sur les touches. ( En effet, j'ai inséré le showmessage('coucou'); pour voir s'il apparaissait quand j'appuyais sur q et rien ...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 procedure TForm1.FormKeyPress(Sender: TObject; var Key: char); begin if (key = 'q') and (not Caribou.fkeydroite) then begin Caribou.fkeygauche := True; showmessage('coucou'); end else if (key = 'd') and (not Caribou.fkeygauche) then Caribou.fkeydroite := True else if key = 'z' then Caribou.fkeyhaut := True; end;
Du coup je me demande si cela ne vient pas du fait que je lance mon programme avec un bouton :
Est-ce que l'utilisation de ce bouton ne court-circuite pas l'utilisation de la méthode Keypress ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 procedure TForm1.BtnlancerjeuClick(Sender: TObject); begin Timer.Enabled := true; lancerjeu(); //procedure qui declenche le programme principal end;
Ma forme est visible et enabled.
Sur internet on parle d'utiliser Keypreview, mais je ne trouve pas cette méthode sur Lazarus.
Merci d'avance.
Partager