Skocz do zawartości

Zablokowane Nie wykonywanie się animacji


Pablo-GM

Rekomendowane odpowiedzi

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ć;)

}

Odnośnik do komentarza
Udostępnij na innych stronach

GML
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;

zamień is equal na is larger than 6 i sprawdź czy sprit się zmieni, jeżeli tak to w tej równości trzeba będzie zaokrąglić image_index

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...