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.




Répondre avec citation


Je cherchais Keypreview dans les évènements et non pas dans les propriétés.
Partager