Ache
Member
I'm having problems flipping my player object's sprites. Technically, it does flip the sprites, but the sprites are compressed (shown in the picture)
Create event for the player object
Step event for player object
Create event for the player object
GML:
image_xscale = image_xscale * 3;
image_yscale = image_yscale * 3;
hsp = 0;
vsp = 0;
grv = 0.5;
walksp = 4;
GML:
//input
keyleft = keyboard_check(vk_left) or keyboard_check(ord("A"));
keyright = keyboard_check(vk_right) or keyboard_check(ord("D"));
keyjump = keyboard_check(vk_up) or keyboard_check(ord("W"));
//movement
var move = keyright - keyleft;
hsp = move * walksp;
vsp = vsp + grv;
//jumping
if place_meeting(x, y + 1, obj_wall) and keyjump
{
vsp = -10;
}
////collisions
//horizotal collision
if place_meeting(x + hsp, y, obj_wall)
{
while(!place_meeting(x + sign(hsp), y, obj_wall))
{
x += sign(hsp)
}
hsp = 0
}
//vertical collision
if place_meeting(x, y + vsp, obj_wall)
{
while(!place_meeting(x, y + sign(vsp), obj_wall))
{
y += sign(vsp)
}
vsp = 0
}
x += hsp;
y += vsp;
//animation
if !place_meeting(x, y + 1, obj_wall)
{
sprite_index = spr_player_jump;
if sign(vsp) > 0
{
image_index = 1;
}
else
{
image_index = 0;
}
}
else
{
if hsp == 0
{
sprite_index = spr_player_idle;
}
else
{
sprite_index = spr_player_move;
}
}
if hsp != 0
{
image_xscale = sign(hsp);
}