48 lines
No EOL
1.4 KiB
Text
48 lines
No EOL
1.4 KiB
Text
keyLeft = keyboard_check(vk_left) or keyboard_check(ord("Q"));
|
|
keyRight = keyboard_check(vk_right) or keyboard_check(ord("D"));
|
|
keyUp = keyboard_check(vk_up) or keyboard_check(ord("Z"));
|
|
keyDown = keyboard_check(vk_down) or keyboard_check(ord("S"));
|
|
|
|
|
|
// Déplacement du joueur
|
|
|
|
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;
|
|
}
|
|
compteurFrames += 0.25*spd;
|
|
} else {
|
|
sprite_index = sPlayer;
|
|
image_index = indexImageInfo;
|
|
} |