J'ai un problème qui reste pour moi inexpliqué.
La sfml ne détecte pas lorsque j’appuie sur ces 3 touches en même temps.
Voila mon code:
void SpeedFire::AcquireEvent()
{
Event e; while(screen.GetEvent(e));
spacePressed=screen.GetInput().IsKeyDown(Key::Space);
leftPressed=screen.GetInput().IsKeyDown(Key::Left);
rightPressed=screen.GetInput().IsKeyDown(Key::Right);
upPressed=screen.GetInput().IsKeyDown(Key::Up);
downPressed=screen.GetInput().IsKeyDown(Key::Down);
}
Par contre pour un trio de 3 autres touches, cela marche.
Si j'appuie sur [espace][gauche][haut] j'obtient seulement [espace]
Si j'appuie sur [espace][gauche] puis [haut] j'obtient seulement [espace][gauche]
Étrange non?
C'est peut-être un problème de mon système (Ubuntu 12.04).
Ou de mon matériel.
Une idée?
Temps qu'on y ait, j'aimerais obtenir plus d'information sur l'utilité de vider les évenements en attente pour utiliser screen.GetInput()
( Je fais cela dans tout mes jeux, car sinon je n'obtient aucun événement à travers un Input)