J'ai un bogue dans mon programme avec le greffon clavier mais je n'arrive pas à le reproduire.
En effet, à l'ouverture de mon programme le greffon clavier fonctionne normalement.
Mais si je charge une sauvegarde dans mon programme, il ne fonctionne plus du tout.
L'appui sur les touches du clavier n'a alors aucun effet.
[php]
Sélectionner :
*tile_sélection :: mongraphique
num_x :: nombre
num_y :: nombre
numéro_case_grille4 :: nombre
début
"sélection" !
Si (numéro_case de tile_sélection) != -5, lis
index_copie_casier_tiles2 = index_copie_casier_tiles de tile_sélection
sélection_on = vrai
Vide les touches
va vers Attente_clavier
ferme
Attente_clavier :
clavier :: clavier
début
évoque clavier.commencer()
tant que vrai, lis
attends 100 millisecondes
parcours Actions avec clavier.touches(), clavier
ferme
Actions :
*liste :: casier de nombre
*clavier :: clavier
indice :: nombre
début
"Actions" !
si liste est non vide, lis
"test" !
pour chaque liste, lis
Si joker == "Retour arrière", lis
évoque clavier.stop()
Va vers Edition_supprimer
ferme
Si joker == "Droite", lis
si indice_horizontal <
(nombre_case_largeur - nombre_case_largeur_effectif), lis
déplace cadre vers la droite de taille_largeur_case
incrémente indice_horizontal
évoque clavier.stop()
va vers Affichage_quadrillage
ferme
ferme
Sinon si joker == "Gauche", lis
si indice_horizontal >
0, lis
déplace cadre vers la gauche de taille_largeur_case
décrémente indice_horizontal
évoque clavier.stop()
va vers Affichage_quadrillage
ferme
ferme
Sinon si joker == "Haut", lis
si indice_vertical >
0, lis
déplace cadre vers le haut de taille_hauteur_case
décrémente indice_vertical
évoque clavier.stop()
va vers Affichage_quadrillage
ferme
ferme
Sinon si joker == "Bas", lis
si indice_vertical <
(nombre_case_hauteur - nombre_case_hauteur_effectif), lis
déplace cadre vers le bas de taille_hauteur_case
incrémente indice_vertical
évoque clavier.stop()
va vers Affichage_quadrillage
ferme
ferme
ferme
ferme
Reviens
[/php]
Par exemple, si ma fonction "sélectionner" est activée, le mot "sélection" s'affiche sur le tableau de l'atelier.
Ma fonction "Attente_clavier" s'active.
Le mot "Actions" s'affiche sur le tableau de l'atelier.
Pourtant, le mot "test" ne va jamais s'afficher sur le tableau.
Or, au démarrage de mon logiciel, le greffon clavier fonctionne normalement.
Mais si je charge une sauvegarde, il ne fonctionne plus, bien que la sauvegarde n'ai aucun lien avec les fonctions "Sélectionner", "Attente_clavier" ou "Actions"...
En effet, à l'ouverture de mon programme le greffon clavier fonctionne normalement.
Mais si je charge une sauvegarde dans mon programme, il ne fonctionne plus du tout.
L'appui sur les touches du clavier n'a alors aucun effet.
[php]
Sélectionner :
*tile_sélection :: mongraphique
num_x :: nombre
num_y :: nombre
numéro_case_grille4 :: nombre
début
"sélection" !
Si (numéro_case de tile_sélection) != -5, lis
index_copie_casier_tiles2 = index_copie_casier_tiles de tile_sélection
sélection_on = vrai
Vide les touches
va vers Attente_clavier
ferme
Attente_clavier :
clavier :: clavier
début
évoque clavier.commencer()
tant que vrai, lis
attends 100 millisecondes
parcours Actions avec clavier.touches(), clavier
ferme
Actions :
*liste :: casier de nombre
*clavier :: clavier
indice :: nombre
début
"Actions" !
si liste est non vide, lis
"test" !
pour chaque liste, lis
Si joker == "Retour arrière", lis
évoque clavier.stop()
Va vers Edition_supprimer
ferme
Si joker == "Droite", lis
si indice_horizontal <
(nombre_case_largeur - nombre_case_largeur_effectif), lis
déplace cadre vers la droite de taille_largeur_case
incrémente indice_horizontal
évoque clavier.stop()
va vers Affichage_quadrillage
ferme
ferme
Sinon si joker == "Gauche", lis
si indice_horizontal >
0, lis
déplace cadre vers la gauche de taille_largeur_case
décrémente indice_horizontal
évoque clavier.stop()
va vers Affichage_quadrillage
ferme
ferme
Sinon si joker == "Haut", lis
si indice_vertical >
0, lis
déplace cadre vers le haut de taille_hauteur_case
décrémente indice_vertical
évoque clavier.stop()
va vers Affichage_quadrillage
ferme
ferme
Sinon si joker == "Bas", lis
si indice_vertical <
(nombre_case_hauteur - nombre_case_hauteur_effectif), lis
déplace cadre vers le bas de taille_hauteur_case
incrémente indice_vertical
évoque clavier.stop()
va vers Affichage_quadrillage
ferme
ferme
ferme
ferme
Reviens
[/php]
Par exemple, si ma fonction "sélectionner" est activée, le mot "sélection" s'affiche sur le tableau de l'atelier.
Ma fonction "Attente_clavier" s'active.
Le mot "Actions" s'affiche sur le tableau de l'atelier.
Pourtant, le mot "test" ne va jamais s'afficher sur le tableau.
Or, au démarrage de mon logiciel, le greffon clavier fonctionne normalement.
Mais si je charge une sauvegarde, il ne fonctionne plus, bien que la sauvegarde n'ai aucun lien avec les fonctions "Sélectionner", "Attente_clavier" ou "Actions"...