Bonjour,
mon problème est assez simple à comprendre, j'essaie tout simplement de bouger un sprite à l'aide des flèches du clavier.
Mais mon sprite ne se déplace pas.
Il bouge dans le sens où la position du sprite n'est pas la même si une des flèches est pressé, mais il ne continue pas sa route.
puis lorsque la touche est relâché, le sprite retourne à sa position de départ alors qu'il devrait resté sur sa dernière position. (c'est d'ailleurs pour moi une aberration, étant donné que je change sa position je ne vois pas par quel miracle mon sprite arrive à se remettre à sa position de départ)
Voilà pour l'explication de mon problème (j'espère avoir été clair)
Le code :
int main()
{
sf::RenderWindow app(sf::VideoMode(800, 800, 32), "Jeu");
app.setFramerateLimit(60);
while (app.isOpen())
{
sf::Event Event;
Pacman pacman("mspacman.jpg", app);
while (app.pollEvent(Event))
{
if (Event.type == sf::Event::Closed)
{app.close();}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
{app.close();}
}
pacman.fm_Deplacement(app);
app.display();
app.clear();
}
return 0;
}
Pacman::Pacman(std::string const persoTexture, sf::RenderWindow &app) : Personnage(persoTexture, app)
{
}
Personnage::Personnage(std::string const persoTexture, sf::RenderWindow &app)
{
if(!vm_persoTexture.loadFromFile(persoTexture))
{
std::cout << "Erreur lors du chargement du personnage" << std::endl;
}
vm_persoSprite.setTexture(vm_persoTexture);
vm_persoSprite.setScale(0.04,0.053333333);
vm_persoSprite.setPosition(50, 50);
app.draw(vm_persoSprite);
}
void Pacman::fm_Deplacement(sf::RenderWindow &app)
{
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left)) {vm_persoSprite.move(-5, 0);}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) {vm_persoSprite.move(5, 0);}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) {vm_persoSprite.move(0, -5);}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) {vm_persoSprite.move(0, 5);}
app.draw(vm_persoSprite);
}
J'aurais aimé vous faire un code minimal reproduisant mon problème, mais malheureusement pour moi tout fonctionne à merveille si je ne fais pas de classe.. :/
En espérant que vous pourrez m'aider,
merci d'avance