Crie um objeto e poe uma sprite,coloque o nome dele de object_player e outro com o nome object_solid imagem preta 32x32 e selecione solid e desmarca o visible
no evento CREATE do player coloque:
agora no evento STEP coloque:
agora no colission com o object_solid coloque:
no evento CREATE do player coloque:
- Código:
friction=0.25 //O friction serve para o player não ficar andando quando uma tecla de movimentação é pressionada.
direcao=0
dwn=false
gravity=1
agora no evento STEP coloque:
- Código:
//---------------------------------------------
//Variaveis do movimento
image_speed=0.2
if place_free(x,y+1)
{
gravity=1
}
else
{
gravity=0
}
if (hspeed>6)
{
hspeed=6
}
if (hspeed<-6)
{
hspeed=-6
}
//---------------------------------------------
//Movimentação do player
if keyboard_check(vk_right)
{
direcao=0
hspeed+=.6
}
if keyboard_check_released(vk_right)
{
direcao=0
}
if keyboard_check(vk_left)
{
direcao=1
hspeed-=.6
}
if keyboard_check_released(vk_left)
{
direcao=1
}
if hspeed>0 && vspeed=0
{
sprite_index=spr_playerright
}
if hspeed<0 && vspeed=0
{
sprite_index=spr_playerleft
}
if hspeed=0 && vspeed=0 && direcao=0
{
sprite_index=spr_playerstopr
}
if hspeed=0 && vspeed=0 && direcao=1
{
sprite_index=spr_playerstopl
}
//---------------------------------------------
//Pulo do player tecla Z
if keyboard_check_pressed(ord("Z"))
{
if not place_free(x,y+2)
{
sound_play(jump_sound)
vspeed=-16
}
}
//---------------------------------------------
//Correr tecla X
if dwn=false && keyboard_check(vk_right) and keyboard_check(ord("X"))
{
hspeed+=5.5
}
if dwn=false && keyboard_check(vk_left) and keyboard_check(ord("X"))
{
hspeed+=-5.5
}
//---------------------------------------------
//Anti grude nenhuma tecla
if not place_free(x+5,y) && direcao=0 && keyboard_check(vk_anykey)
{
hspeed = 0
}
if not place_free(x-5,y) && direcao=1 && keyboard_check(vk_anykey)
{
hspeed = 0
}
agora no colission com o object_solid coloque:
- Código:
move_contact_solid(direction,12)
vspeed=0