Forum de la communauté SFML

Aide => Système => Discussion démarrée par: Cmdu76 le Janvier 25, 2013, 06:35:50 pm

Titre: [2.0] Event et Keyboard ...
Posté par: Cmdu76 le Janvier 25, 2013, 06:35:50 pm
Bonjour, j'ai essayé de lire la doc et le tutoriel déjà présent sur la 2.0,
mais ce code me renvoit une erreur :

if (eventPseudo.type == sf::Event::KeyPressed)
                        {
                            if (eventPseudo.type == sf::Keyboard::Back)
                            {
                                std::cout << "Back!" << std::endl;
                            }
                        }

Donc voilà, mon premier problème...

Et j'avais un deuxième problème, les nombres correspondants aux caractères

if (event.text.unicode < 128)

Possible d'avoir un lien pour tous les caractères pour séléctionner seulement ceux qui m'intéresse ? :)

Merci d'avance ;)
Titre: Re : [2.0] Event et Keyboard ...
Posté par: Laurent le Janvier 25, 2013, 06:42:23 pm
Citer
ce code me renvoit une erreur
Et on peut avoir la ligne exacte et le message d'erreur ? Ou il faut deviner juste en regardant le code ? :-\

Citer
Possible d'avoir un lien pour tous les caractères pour séléctionner seulement ceux qui m'intéresse ?
Google -> "table ASCII" ;)
Mais tu as aussi des fonctions dans la bibliothèque standard, telles que isprint, qui te disent si un caractère est imprimable ou non ; tu as aussi isnum, isalpha, etc.
Le test < 128 garde uniquement ce qui est ASCII, ce qui assure que ça va pouvoir rentrer dans un char, et que tu n'auras aucun problème d'encodage.
Titre: Re : [2.0] Event et Keyboard ...
Posté par: Cmdu76 le Janvier 25, 2013, 06:46:50 pm
La ligne : if (eventPseudo.type == sf::Keyboard::Back)
Titre: Re : [2.0] Event et Keyboard ...
Posté par: Laurent le Janvier 25, 2013, 07:07:29 pm
Et le message d'erreur ?
Titre: Re : [2.0] Event et Keyboard ...
Posté par: Cmdu76 le Janvier 25, 2013, 08:18:14 pm
'Back' is not a member of 'sf::Keyboard'
Titre: Re : [2.0] Event et Keyboard ...
Posté par: Laurent le Janvier 25, 2013, 09:40:41 pm
C'est que ça doit être vrai ;)

Si tu as recompilé SFML toi-même, ne lis pas la doc en ligne, qui correspond à la version RC. Utilise la doc de la révision que tu as compilée (génère-la, ou bien regarde simplement dans l'en-tête correspondant ce que contient l'enum, dans ton cas ce sera plus rapide).

J'ai dû renommer ça en Backspace, si je me souviens bien.
Titre: Re : [2.0] Event et Keyboard ...
Posté par: Cmdu76 le Janvier 25, 2013, 09:45:40 pm
Je confirme !

Tu l'as renommé en BackSpace  (pour ceux qui auraient le même problème que moi)

Merci beaucoup pour ces réponses si rapides ;)
Titre: Re : [2.0] Event et Keyboard ...
Posté par: Cmdu76 le Janvier 26, 2013, 11:33:10 am
Désolé de rouvrir le sujet sur les tables ASCII mais j'ai rentré ce code :

if (eventPseudo.text.unicode > 64 && eventPseudo.text.unicode < 91 || eventPseudo.text.unicode > 96 && eventPseudo.text.unicode < 123)
{
    clic.play();
    std::cout << "Test" << std::endl;
}


Et si j'appuie sur les lettres sans être en majuscules (deuxième intervalle), rien...
Par contre si j'appuie sur les chiffres, il me donne les lettres en majuscules ... (qui ne sont dans aucun des intervalles)

Je précise que je n'ai aucune erreur du debugger

Merci d'avance
Titre: Re : [2.0] Event et Keyboard ...
Posté par: Laurent le Janvier 26, 2013, 12:42:47 pm
Et il te donne quelles valeurs pour ces caractères ?
Titre: Re : [2.0] Event et Keyboard ...
Posté par: Cmdu76 le Janvier 26, 2013, 12:46:10 pm
Touche 1 (pavé num.) = L
Touche 2 (pavé num.) = M
Touche 4 (pavé num.) = O
Touche 5 (pavé num.) = P

(J'ai rajouté une ligne qui les affichent)

Sinon j'ai pas trop compris ta question x)
Titre: Re : [2.0] Event et Keyboard ...
Posté par: Laurent le Janvier 26, 2013, 01:23:47 pm
Rassure moi, tu utilises bien ce code dans le contexte d'un évènement TextEntered, pas KeyPressed ?
Titre: Re : [2.0] Event et Keyboard ...
Posté par: Cmdu76 le Janvier 26, 2013, 05:51:58 pm
Euh .... :D

(Me tapes pas ...)

D'accord, je vais règler ça de suite, merci :)