4
0
Fork 0

Ajout code animation lors attaque joueur

This commit is contained in:
rick 2020-12-06 14:31:54 +01:00
parent d6c4b3411c
commit 3c8e8dfd6a
3 changed files with 53 additions and 39 deletions

View file

@ -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

View file

@ -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) {

View file

@ -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;
}
}