Puisque ton problème se situe au niveau de la fonction Keyboard::isKeyPressed, écris un main() tout simple qui déplace une forme simple en utilisant cette fonction. Pour le moment on se fiche un peu de tout ce qu'il y a d'autre dans ton gros code
Et si ce code marche (ce qui sera sûrement le cas), alors là commence à voir quelles différences il y a entre ce code qui marche et ton code original qui ne marche pas. Et là si tu es rigoureux tu tomberas forcément sur le bug.
Au début de mon projet j'avais tout mis dans le main et tout fonctionnait mais c'est depuis que séparais mon code en plusieurs classe que ca foire. Donc entre trouvais la différence entre presque rien et un code de plusieurs classe je vais un peu galérer mais bon.
Ton isKeyPressed, il est à l'intérieur de ta boucle d'évènement ? Si oui, c'est probable que c'est pas là que tu veux vraiment l'y mettre.
Non il est dans une fonction qui est appelé par certaine classe
bool EngineControl::isPressed(string keyString)
{
if(Keyboard::isKeyPressed(keysConfig[keyString]))
return true;
else
return false;
}
Bon je retourne essayer de trouver le caillou dans le bouillon.
Merci vous en tout cas :)
Je suis désoler si j'ai pu paraître un peu abrupte mais je voulais juste savoir si mon problème était du a une "erreur courante", un bug ou si c’était réellement mon architecture qui posais problème.Donc entre trouvais la différence entre presque rien et un code de plusieurs classe je vais un peu galérer mais bon.
Ben... et nous tu crois qu'on ferait quoi pour trouver la cause de ton problème ? ;)
Les forums c'est pas magique, pour ce genre de problème, si tu ne passes pas un peu de temps à faire des tests poussés, il est probable que personne n'arrive à t'aider.
Je ne voulait pas dire par là "j'ai flemme de chercher donc débrouiller-vous" je voulais dire que entre un code "normal" et mon ramassis de classe incohérentes il y'a beaucoup de differences. Mais maintenant que je sait que c'est pas mon utilisation des events qui est foireuse je vais pouvoir chercher une réponse par moi même. Je suis d'accord que nous somme dans un forum dédié a la SFML et donc que ce n'est pas l'endroit pour trouver LE problème qui n'a rien a voir avec la SFML. En tout cas merci pour ces réponses et je reviendrais si je comprend toujours pas mon(mes?) erreur(s?).
PS: Veuillez excuser mon orthographe, en relisant mes sujets je me suis aperçu que ca piquer un peu les yeux parfois.
EDIT:
Apres avoir fait un code minimal je m'aperçois que ca ne fonctionne toujours pas(même problème qu'avant) (ca doit vraiment venir de moi qui sait pas se servir de la sfml).
RenderWindow m_window;
m_window.create(sf::VideoMode(1920, 1080), "test 3", sf::Style::Fullscreen);
m_window.setKeyRepeatEnabled(true);
m_window.setFramerateLimit(50);
m_window.setVerticalSyncEnabled(true);
Texture m_texture;
Sprite m_sprite;
Image img;
img.create(50, 50, Color::Blue);
m_texture.loadFromImage(img);
m_sprite.setTexture(m_texture);
m_window.draw(m_sprite);
Event m_event;
while(m_window.isOpen())
{
while(m_window.pollEvent(m_event))
{
m_window.clear();
m_window.draw(m_sprite);
m_window.display();
if(m_event.Closed)
m_window.close();
if(Keyboard::isKeyPressed(Keyboard::Escape))
m_window.close();
if(Keyboard::isKeyPressed(Keyboard::Down))
{
m_sprite.setPosition(m_sprite.getPosition().x, m_sprite.getPosition().y + 1);
}
}
}
(du coup c'est un code vraiment minimal ;D)
Je laisse ce code et son erreur qui doit être énorme sous vos yeux d'experts.