firestar
Member
GML:
//Get player input
key_left = keyboard_check(vk_left);
key_right = keyboard_check(vk_right);
key_jump = keyboard_check_pressed(vk_space);
//Calculate movement
var move = key_right - key_left;
hsp = move * walkspd;
vsp = vsp + grv;
if (place_meeting(x, y+1, coolObjectWall)) && (key_jump)
{
vsp = -4;
}
//Horizontal collision
if(place_meeting(x+hsp, y, coolObjectWall))
{
while (!place_meeting(x+sign(hsp), y, coolObjectWall))
{
x = x + sign(hsp);
}
hsp = 0;
}
x = x + hsp;
//Vertical collision
if (place_meeting(x, y+vsp, coolObjectWall))
{
while (!place_meeting(x, y+sign(vsp), coolObjectWall))
{
y = y + sign(vsp);
}
vsp = 0;
}
y = y + vsp;
//Animation
if (!place_meeting(x, y+1, coolObjectWall))
{
sprite_index = coolGuyJump;
image_speed = 0;
if (sign(vsp) > 0) image_index = 1; else image_index = 0;
}
else
{
image_speed = 1;
if (hsp == 0)
{
image_speed = 1;
sprite_index = coolGuy;
}
else
{
image_speed = 1;
sprite_index = coolGuyRun;
}
}
btw this code is an event for an object