Bonjour à tous et à toutes je suis le petit nouveau ^^ Bon comme premier post je ne fais pas dans l'original je viens vous demander de l'aide... (De l'aide concernant ?)Je suis en train d'essayer de faire une méthode d'une classe Personnage permettant au joueur de se déplacer dans quatre directions (gauche, droite, en-haut, en-bas). Cependant vous vous en doutez sans quoi j'aurai jamais créé ce post, mon code ne fonctionne pas
Voici la déclaration de la méthode :
void move(sf::Event event, sf::RenderWindow &app);
Et voilà la méthode :
void Personnage::move(sf::Event event, sf::RenderWindow &app) //Méthode de déplacement
{
switch(event.type)
{
case sf::Event::KeyPressed:
if(event.key.code == sf::Keyboard::Left){
sf::Clock clock;
sf::Time time;
time = clock.restart();
float sec = time.asSeconds();
if(sec <= 0.15f){
m_sprite.setTextureRect(sf::IntRect(96, 48, 32, 48));
}else if(sec >= 0.30f){
m_sprite.setTextureRect(sf::IntRect(64, 48, 32, 48));
}else if(sec >= 0.45f){
m_sprite.setTextureRect(sf::IntRect(96, 48, 32, 48));
}
time = clock.restart();
m_sprite.move(sf::Vector2f(-1, 0));
}else if(event.key.code == sf::Keyboard::Right){
m_sprite.setTextureRect(sf::IntRect(0, 96, 32, 48));
m_sprite.move(sf::Vector2f(1, 0));
}else if(event.key.code == sf::Keyboard::Up){
m_sprite.setTextureRect(sf::IntRect(0, 144, 32, 48));
m_sprite.move(sf::Vector2f(0, -1));
}else if(event.key.code == sf::Keyboard::Down){
m_sprite.setTextureRect(sf::IntRect(0, 0, 32, 48));
m_sprite.move(sf::Vector2f(0, 1));
}
break;
}
app.draw(m_sprite);
}
Merci d'avance pour l'aide et l'attention que vous avez porté à ce post,
Cordialement Bilt