added death animation

This commit is contained in:
Ralusama19 2017-01-21 16:29:21 +01:00
parent cba2ebf03c
commit 2a8724cb7e
5 changed files with 16 additions and 2 deletions

View file

@ -21,6 +21,10 @@ bool Actor::update(float deltaTime, sf::RenderWindow *window) {
character->setState(PlayerState::attacking); character->setState(PlayerState::attacking);
animate = PlayerState::inMidle; animate = PlayerState::inMidle;
} }
else if (animate == PlayerState::hurt) {
character->setState(PlayerState::hurt);
animate = PlayerState::inMidle;
}
else if (animate == PlayerState::inMidle) { else if (animate == PlayerState::inMidle) {
if (character->isLastFrame()) animate = PlayerState::idle; if (character->isLastFrame()) animate = PlayerState::idle;
} }

View file

@ -39,6 +39,12 @@ void Character::update(float deltaTime){
setState(PlayerState::idle); setState(PlayerState::idle);
} }
//Acabar automaticament la animacio de hurt
if (actualState == PlayerState::hurt and indexX%4 == 3){
setState(PlayerState::idle);
}
idleFrame = (idleFrame+1)%4; idleFrame = (idleFrame+1)%4;
} }
} }
@ -56,7 +62,8 @@ void Character::setState(PlayerState::playerState state){
SoundManager::playSound(sample); SoundManager::playSound(sample);
std::cout << "playing sample " << sample << std::endl; std::cout << "playing sample " << sample << std::endl;
} }
else if (false /*state == PlayerState::damaged*/){ else if (state == PlayerState::hurt){
std::cout << "i am hurt" << std::endl;
indexX = 0; indexX = 0;
indexY = 2 + magicNumber; indexY = 2 + magicNumber;
} }

View file

@ -33,6 +33,7 @@ void Combat::update(float deltaTime, sf::RenderWindow *window) {
bool aux = enemy->update(deltaTime, window); bool aux = enemy->update(deltaTime, window);
if (ia) enemyManager(aux); //end of player two ia ritm if (ia) enemyManager(aux); //end of player two ia ritm
time += deltaTime; time += deltaTime;
_shader.setParameter("time", time); _shader.setParameter("time", time);
} }

View file

@ -42,7 +42,7 @@ enum gameScene{menu,inGame,help,credits};
} }
namespace PlayerState { namespace PlayerState {
enum playerState{idle, attacking, inMidle}; enum playerState{idle, attacking, inMidle, hurt};
} }
#endif // COMMONS_HPP #endif // COMMONS_HPP

View file

@ -30,6 +30,8 @@ bool Player::event(sf::Event e) {
else { else {
compas.end(); compas.end();
error = true; //weird? error = true; //weird?
if (animate != PlayerState::inMidle) animate = PlayerState::hurt;
} }
} }
break; break;