Arlan64
Member
Hi guys,
I want to create a swim gameplay for my character, but I don't know how to makes this posible...
I give you my codes (many parts have been copied from Shaun with his tutorials)
Sorry if I delete the comments of the code, and sorry if there is a lot of codes that are off topic... (i'm french too... so..)
Help me, please, thanks!
PS: The "/* [...] */", this is to cancel the code when I testing my game... ^^'
I want to create a swim gameplay for my character, but I don't know how to makes this posible...
I give you my codes (many parts have been copied from Shaun with his tutorials)
Code:
Blooby (the player) >> Create Event
grav = 0.50;
hsp = 0;
vsp = 0;
jumps = 0;
jumpsmax = 1;
jumps_outside = 0;
jumpspeed_normal = 10;
jumpspeed_powerup = 13.8;
jumpspeed_water = 1
jumpspeed = jumpspeed_normal
movespeed_normal = 6;
movespeed_powerup = 10;
movespeed = movespeed_normal
touch_ennemies = 0;
Blooby >> Step
key_right = keyboard_check(vk_right);
key_left = -keyboard_check(vk_left);
key_jump = keyboard_check(vk_up);
key_jump_held = keyboard_check(vk_up);
key_down = -keyboard_check_pressed(vk_down);
move = key_left + key_right;
hsp = move * movespeed;
if (vsp < 10)
{
vsp += grav;
}
{if (place_meeting(x,y+1,obj_floor))
{
vsp = key_jump * -jumpspeed;
}
if (place_empty(x,y+1))
{
vsp += key_down * -jumpspeed
}
if (place_meeting(x,y,obj_water))
{
vsp += key_down * -jumpspeed
}
if (place_meeting(x,y+1,obj_water))
{
jumps = jumpsmax;
jumpspeed_normal = jumpspeed_water;
}
if (key_jump) && (jumps > 0)
{
jumps -= 1;
vsp = -jumpspeed = 0;
}
/*if (place_meeting(x,y,obj_water))
{
grav = 0
}*/
///No jumps outside
if (place_empty(x,y))
{
jumps = jumps_outside
grav = 0.50
jumpspeed_water = jumpspeed_normal
}
if (vsp < 0) && (!key_jump_held)
{
vsp = max(vsp,-jumpspeed/4)
}
if (place_meeting(x,y,obj_water)) && vsp = max(vsp,-jumpspeed/4)
{
vsp = 4
}
if place_meeting(x,y,obj_water)
{
jumpspeed_normal = 1
}
if place_meeting(x,y,obj_water) && key_jump
{
vsp = min(vsp,-jumpspeed/1.50)
key_jump_held = key_jump
}
if place_meeting(x,y,obj_water) && key_jump_held = key_jump
{
vsp = -4
}
if place_meeting(x,y,obj_water) && ((vsp < 0 && (key_jump_held)))
{
vsp += grav;
}
}
//------------------------------------------------------------------------------------------------------------------------------
///Horizontal Collision
if (place_meeting(x+hsp,y,obj_floor))
{
while(!place_meeting(x+sign(hsp),y,obj_floor))
{
x += sign(hsp);
}
hsp = 0;
}
x += hsp;
///Vertical Collision
if (place_meeting(x,y+vsp,obj_floor))
{
while(!place_meeting(x,y+sign(vsp),obj_floor))
{
y += sign(vsp);
}
vsp = 0;
}
y += vsp;
Help me, please, thanks!
PS: The "/* [...] */", this is to cancel the code when I testing my game... ^^'