BlueBot5000
Member
For my PlatFormer i'd like my character press "K" to do a low jump but if "K" is pressed and is still being held than i would like my Character to jump at max jump height (but still fall just to be clear)
How can i do this?
here is the code in case it's needed
CREATE EVENT
STEP EVENT
How can i do this?
here is the code in case it's needed
CREATE EVENT
Code:
/// @description Create Some PLatformer Variables
hspd = 0;
vspd = 0;
grv = 0.3;
walkspd = 4;
jumpspd = 9.4;
key_down = 0;
Code:
/// @description Core PLayler LOGIC
//Get The PLayer Inputs
key_left = keyboard_check(vk_left);
key_right = keyboard_check(vk_right);
key_jump = keyboard_check_pressed(ord("K"));
key_down = keyboard_check(vk_down);
//Calculate Movement
var _move = key_right - key_left;
hspd = _move * walkspd;
vspd = vspd + grv;
if (place_meeting(x,y+1,objSoild)) && (key_jump)
{
vspd = -jumpspd;
}
//Horizontal Collisions
if (place_meeting(x+hspd,y,objSoild))
{
while (!place_meeting(x+sign(hspd),y,objSoild))
{
x = x + sign(hspd);
}
hspd = 0;
}
x = x + hspd;
//Vertical Collisions
if (place_meeting(x,y+vspd,objSoild))
{
while (!place_meeting(x,y+sign(vspd),objSoild))
{
y = y + sign(vspd);
}
vspd = 0;
}
y = y + vspd;
//Animations
if (!place_meeting(x,y+1,objSoild))
{
sprite_index = sprMrBrick_InAirNEW;
image_speed = 0;
if (vspd > 0) image_index = 1; else image_index = 0;
}
else
{
image_speed = 1.4;
if(hspd == 0)
{
sprite_index = sprMrBrick_Idle;
}
else
{
sprite_index = sprMrBrick_Jogging;
}
}
if (hspd != 0) image_xscale = sign(hspd);
Last edited: