void Caracter::setDir (Vec2f dir) { //anims[currentAnimIndex]->setCurrentTile(0); if (isMoving()) anims[currentAnimIndex]->stop(); float angleRadians = dir.getAngleBetween(Vec2f::yAxis); int angle = Math::toDegrees(angleRadians); //Sud if (angle >= -10 && angle <= 10) currentAnimIndex = 4; //Sud ouest else if (angle > -80 && angle < -10) currentAnimIndex = 6; //Ouest else if (angle >= -100 && angle <= -80) currentAnimIndex = 7; //Nord ouest else if (angle > -170 && angle < -100) currentAnimIndex = 3; //Nors est else if (angle > 100 && angle < 170) currentAnimIndex = 2; //Est else if (angle >= 80 && angle <= 100) currentAnimIndex = 0; //Sud est else if (angle > 10 && angle < 80) currentAnimIndex = 5; //Nord else currentAnimIndex = 1; if (attacking) currentAnimIndex += 8; this->dir = dir; if (isMoving()) { anims[currentAnimIndex]->play(true); } }