Ajout code animation lors attaque joueur
This commit is contained in:
parent
d6c4b3411c
commit
3c8e8dfd6a
3 changed files with 53 additions and 39 deletions
|
@ -5,4 +5,5 @@ inv = 0; //timer invinsiblité
|
|||
indexImageInfo = 0;
|
||||
compteurFrames = 0;
|
||||
|
||||
attack = 10;
|
||||
attack = 10;
|
||||
isAttack = false; // permet de savoir si le joueur a appuyé sur la touche attaquer ou pas
|
|
@ -1,10 +1,11 @@
|
|||
// Attaque au corp à corp
|
||||
|
||||
//jouer l'animation
|
||||
|
||||
tailleEpee = 30; // à définir
|
||||
checkCote = image_index / 8; // récupère où regarde le personnage
|
||||
inst = noone;
|
||||
isAttack = true;
|
||||
compteurFrames = 0;
|
||||
tailleEpee = 30; // à définir
|
||||
checkCote = image_index / 8; // récupère où regarde le personnage
|
||||
inst = noone;
|
||||
|
||||
if (sprite_index == sPlayerRun) {
|
||||
if (checkCote <= 1) {
|
||||
|
|
|
@ -10,40 +10,52 @@ depth = -bbox_bottom;
|
|||
deplaceHorizontal = keyRight - keyLeft;
|
||||
deplaceVertical = keyDown - keyUp;
|
||||
|
||||
if ((deplaceHorizontal > 0 && !place_meeting(x+1, y, oWall))
|
||||
|| (deplaceHorizontal < 0 && !place_meeting(x-1, y, oWall))) {
|
||||
x += deplaceHorizontal*spd;
|
||||
}
|
||||
|
||||
if ((deplaceVertical > 0 && !place_meeting(x, y+1, oWall))
|
||||
|| (deplaceVertical < 0 && !place_meeting(x, y-1, oWall))) {
|
||||
y += deplaceVertical*spd;
|
||||
}
|
||||
|
||||
seDeplace = (deplaceHorizontal != 0 or deplaceVertical != 0);
|
||||
|
||||
// Animation des sprites
|
||||
|
||||
if (seDeplace) {
|
||||
sprite_index = sPlayerRun;
|
||||
//image_speed = 1;
|
||||
if (deplaceHorizontal = 0) {
|
||||
if (deplaceVertical = 1) {
|
||||
image_index = compteurFrames % nbFrames;
|
||||
indexImageInfo = 0;
|
||||
} else {
|
||||
image_index = compteurFrames % nbFrames + 2 * nbFrames;
|
||||
indexImageInfo = 2;
|
||||
}
|
||||
} else if (deplaceHorizontal = 1) {
|
||||
indexImageInfo = 1;
|
||||
image_index = compteurFrames % nbFrames + nbFrames;
|
||||
} else {
|
||||
indexImageInfo = 3;
|
||||
image_index = compteurFrames % nbFrames + 3*nbFrames;
|
||||
if (isAttack) {
|
||||
sprite_index = sPlayerAttackSlash;
|
||||
image_speed = 1;
|
||||
if (compteurFrames == 0) {
|
||||
image_index = indexImageInfo * 4;
|
||||
} else if (compteurFrames > 4) {
|
||||
isAttack = false;
|
||||
}
|
||||
compteurFrames += 0.25*spd;
|
||||
compteurFrames += 0.25;
|
||||
} else {
|
||||
sprite_index = sPlayer;
|
||||
image_index = indexImageInfo;
|
||||
|
||||
if ((deplaceHorizontal > 0 && !place_meeting(x+1, y, oWall))
|
||||
|| (deplaceHorizontal < 0 && !place_meeting(x-1, y, oWall))) {
|
||||
x += deplaceHorizontal*spd;
|
||||
}
|
||||
|
||||
if ((deplaceVertical > 0 && !place_meeting(x, y+1, oWall))
|
||||
|| (deplaceVertical < 0 && !place_meeting(x, y-1, oWall))) {
|
||||
y += deplaceVertical*spd;
|
||||
}
|
||||
|
||||
seDeplace = (deplaceHorizontal != 0 or deplaceVertical != 0);
|
||||
|
||||
// Animation des sprites
|
||||
|
||||
if (seDeplace) {
|
||||
sprite_index = sPlayerRun;
|
||||
//image_speed = 1;
|
||||
if (deplaceHorizontal = 0) {
|
||||
if (deplaceVertical = 1) {
|
||||
image_index = compteurFrames % nbFrames;
|
||||
indexImageInfo = 0;
|
||||
} else {
|
||||
image_index = compteurFrames % nbFrames + 2 * nbFrames;
|
||||
indexImageInfo = 2;
|
||||
}
|
||||
} else if (deplaceHorizontal = 1) {
|
||||
indexImageInfo = 1;
|
||||
image_index = compteurFrames % nbFrames + nbFrames;
|
||||
} else {
|
||||
indexImageInfo = 3;
|
||||
image_index = compteurFrames % nbFrames + 3*nbFrames;
|
||||
}
|
||||
compteurFrames += 0.25*spd;
|
||||
} else {
|
||||
sprite_index = sPlayer;
|
||||
image_index = indexImageInfo;
|
||||
}
|
||||
}
|
Reference in a new issue