Witam, właśnie zacząłem korzystać z klocków i już się pojawił problem , animacja wstawania mojego bohatera nie chce się wykonać .
O to kod bohatera :
GML
Create Event:
execute code:
v=5; //prędkość gracza
max_y=5; //maksymalna wysokość schodka na jakś gracz może wejść
prawo=1
lewo=-1
dir=prawo
siedze=1;
wstaje=0
Step Event:
execute code:
if(place_free(x,y+1)) //jeśli gracz nic nie ma pod nogami...
vspeed+=1; //...zaczyna opadać
if siedze=0 && wstaje=0
{
if(keyboard_check(ord('A')) || keyboard_check(ord('D')))
{
sprite_index = sPlayerGo
image_speed = 0.7;
}
else
{
sprite_index = sPlayer
image_speed = 0.2;
}
}
if siedze=1 && wstaje=0 && keyboard_check_pressed(ord('Q'))
{
wstaje=1;
siedze=0;
}
if wstaje is equal to 1
set the sprite to sPlayerWstaje with subimage 0 and speed 1
if image_index is equal to 6
set the sprite to sPlayer with subimage 0 and speed 1
execute code:
siedze=0;
wstaje=0;
Keyboard Event for A-key Key:
execute code:
if siedze=0 && wstaje=0
{
yy=0; //zmienna pomocnicza - sprawdza jak wysoki jest schodem przed graczem
ok=0; //zmienna pomocnicza - kończy działanie pętli w odpowiedniej chwili
while(yy<=max_y&&ok=0)
{
if(place_free(x-v,y-yy)) //jeśli nic nie ma przed graczem...
{
x-=v; //...gracz może iść
dir=lewo
image_xscale=dir
if(!place_free(x,y+1)&&vspeed=0) //tylko jeżeli gracz stoi (nie skacze)...
y-=yy; //może wejść na schodek
ok=1; //kończy działanie pętli
}
yy+=1;
}
if(!place_free(x,y+max_y)&&vspeed=0) //dzięki tym instrukcjom gracz gładziutko schodzi z górki zamiast tak "skokowo"
move_contact_solid(270,max_y);
}
Keyboard Event for D-key Key:
execute code:
if siedze=0 && wstaje=0
{
//wyjaśnienie poszczególnych instrukcji w evencie <LEFT>
yy=0;
ok=0;
while(yy<=max_y&&ok=0)
{
if(place_free(x+v,y-yy))
{
x+=v;
dir=prawo
image_xscale=dir
if(!place_free(x,y+1)&&vspeed=0)
y-=yy;
ok=1;
}
yy+=1;
}
if(!place_free(x,y+max_y)&&vspeed=0)
move_contact_solid(270,max_y);
}
Key Press Event for W-key Key:
execute code:
if siedze=0 && wstaje=0
{
if(!place_free(x,y+1)) //Jeśli gracz na czymś stoi...
vspeed=-10; //...może podskoczyć;)
}