Skocz do zawartości

Po obruceniu w dana strone


Rekomendowane odpowiedzi

Po obruceniu w dana strone bohater po nacisnieciu klawisza np:"q" robi dana czynnosc odtwarza animacje tej czynnosci i gdy sie animacja skonczy to on przestaje... :P

chyba wiecie oco mi chodzi szukalem tego typu tematow ale nie znalazlem mi odpowiadajacego :(

 

 

 

prosze o szybka odpowiedz

pozdrawiam:

Misieq :)

Odnośnik do komentarza
Udostępnij na innych stronach

Chodzi ci o to, że jak się trzyma klawisz "q" to coś robi, czy jak odtwarza animację...? W tym pierwszym wypadku trza użyć funkcji keyboard_check_direct(<kod na klawisz "q">) a pozniej sprite_index = <animacja> jeśli animacja jest w spricie...

Odnośnik do komentarza
Udostępnij na innych stronach

Uhuhuhu nie dziala ale bohater ladnie poszalal :P jak chodzilem to on uzywal animacji tej ktorej miala byc na przycisku "q":P kurde ;/

 

 

EDIT:

Mam cos takiego w stepie bohatera i dalej nie dziala :(

if keyboard_check(vk_numpad7)
if direction = 180    then sprite_index = spr_uzycietoporka_lewo
if direction = 0        then sprite_index = spr_uzycietoporka_prawo
if direction = 360    then sprite_index = spr_uzycietoporka_dol
if direction = 90      then sprite_index = spr_uzycietoporka_gora

Odnośnik do komentarza
Udostępnij na innych stronach

dalem ten kod i wyskakuje blad:

 

FATAL ERROR in

action number 1

of Step Event

for obj_bohater:

COMPILATION ERROR in code action

Error in code at line 1:

if keyboard_check_pressed(ord('Q')) {

 

at position 37: symbol ) expected

 

wydaje mi sie ze ten nawias tam nie potrzebny :P

Odnośnik do komentarza
Udostępnij na innych stronach

polaczylem to z tamtym i jakos wyszlo tylko ze musze miec strzalke nacisnieta :P

teraz kod wyglada tak:

 

if (keyboard_check(ord('Q'))) {

if  direction = 180 then sprite_index = spr_uzycietoporka_lewo
if  direction = 0 then sprite_index = spr_uzycietoporka_prawo
if  direction = 360 then sprite_index = spr_uzycietoporka_dol
if  direction = 90 then sprite_index = spr_uzycietoporka_gora




}

 

EDIT:

Misieq:

https://gmclan.org/index.php?sciagnijplik=106 - Sprawdź to, w tym przykładzie masz właśnie takie chodzenie + walka a' la tibia

 

ja mam chodzenie zrobione...

Odnośnik do komentarza
Udostępnij na innych stronach

mam go w stepie moze przez to ze moj caly step wyglada tak :

 

if (keyboard_check(ord('Q'))) {

if  direction = 180 then sprite_index = spr_uzycietoporka_lewo
if  direction = 0 then sprite_index = spr_uzycietoporka_prawo
if  direction = 360 then sprite_index = spr_uzycietoporka_dol
if direction = 90 then sprite_index = spr_uzycietoporka_gora




}

switch (keyboard_key)
{
    case vk_up:
    if entered 
    {
        yy -= 10;
        entered = false;
        sprite_index=spr_up;
        image_single=-1;
        image_speed=0.3;
    }
    break;
    
    case vk_down:
    if entered 
    {
        yy += 10;
        entered = false;
        sprite_index=spr_down;
        image_single=-1;
        image_speed=0.3;
    }
    break;
    
    case vk_left:
    if entered 
    {
        xx -= 10;
        entered = false;
        sprite_index=spr_left;
        image_single=-1;
        image_speed=0.3;
    }
    break;
    
    case vk_right:
    if entered 
    {
        xx += 10;
        entered = false;
        sprite_index=spr_right;
        image_single=-1;
        image_speed=0.3;
    }
    break;

}

if place_free(xx,yy)
{
    if mp_linear_step(xx,yy,4,false)
    {
        entered = true;
        if (!keyboard_check(vk_up) && !keyboard_check(vk_down)
        && !keyboard_check(vk_left) && !keyboard_check(vk_right))
        {
            image_single=0;
            image_speed=0;
        }
    }
}
else
{
    xx = x;
    yy = y;
}

to moze byc przez to?????

Odnośnik do komentarza
Udostępnij na innych stronach

W pisz tak:

if (keyboard_check(ord('Q'))) {

if  sprite_index = spr_left then sprite_index = spr_uzycietoporka_lewo
if  sprite_index = spr_rihgt then sprite_index = spr_uzycietoporka_prawo
if  sprite_index = spr_down then sprite_index = spr_uzycietoporka_dol
if  sprite_index = spr_up sprite_index = spr_uzycietoporka_gora
}
else

switch (keyboard_key)
{
    case vk_up:
    if entered
    {
        yy -= 10;
        entered = false;
        sprite_index=spr_up;
        image_single=-1;
        image_speed=0.3;
    }
    break;
    
    case vk_down:
    if entered
    {
        yy += 10;
        entered = false;
        sprite_index=spr_down;
        image_single=-1;
        image_speed=0.3;
    }
    break;
    
    case vk_left:
    if entered
    {
        xx -= 10;
        entered = false;
        sprite_index=spr_left;
        image_single=-1;
        image_speed=0.3;
    }
    break;
    
    case vk_right:
    if entered
    {
        xx += 10;
        entered = false;
        sprite_index=spr_right;
        image_single=-1;
        image_speed=0.3;
    }
    break;

}

if place_free(xx,yy)
{
    if mp_linear_step(xx,yy,4,false)
    {
        entered = true;
        if (!keyboard_check(vk_up) && !keyboard_check(vk_down)
        && !keyboard_check(vk_left) && !keyboard_check(vk_right))
        {
            image_single=0;
            image_speed=0;
        }
    }
}
else
{
    xx = x;
    yy = y;
}

Odnośnik do komentarza
Udostępnij na innych stronach

ja to bym wykorzystał właściwości alarmów i po prostu zmierzył czas po jakim ma przestać i ustawił żeby po tym czasie wrócił do poprzedniego sprite.

Ale nie jestem pewien czy o to ci chodziło i to nie jest profesjonalny sposób spróbuj sposobem maxpayne

Odnośnik do komentarza
Udostępnij na innych stronach

A moze tak

if (keyboard_check(ord('Q'))) {

if  sprite_index = spr_left then sprite_index = spr_uzycietoporka_lewo
if  sprite_index = spr_rihgt then sprite_index = spr_uzycietoporka_prawo
if  sprite_index = spr_down then sprite_index = spr_uzycietoporka_dol
if  sprite_index = spr_up sprite_index = spr_uzycietoporka_gora
}
else

if (keyboard_check_released(ord('Q'))) {

if  sprite_index = spr_uzycietoporka_lewo then sprite_index = spr_left
if  sprite_index = spr_uzycietoporka_prawo then sprite_index = spr_right
if  sprite_index = spr_uzycietoporka_dol then sprite_index = spr_down
if  sprite_index = spr_uzycietoporka_gora sprite_index = spr_up
}
else

switch (keyboard_key)
{
    case vk_up:
    if entered
    {
        yy -= 10;
        entered = false;
        sprite_index=spr_up;
        image_single=-1;
        image_speed=0.3;
    }
    break;
    
    case vk_down:
    if entered
    {
        yy += 10;
        entered = false;
        sprite_index=spr_down;
        image_single=-1;
        image_speed=0.3;
    }
    break;
    
    case vk_left:
    if entered
    {
        xx -= 10;
        entered = false;
        sprite_index=spr_left;
        image_single=-1;
        image_speed=0.3;
    }
    break;
    
    case vk_right:
    if entered
    {
        xx += 10;
        entered = false;
        sprite_index=spr_right;
        image_single=-1;
        image_speed=0.3;
    }
    break;

}

if place_free(xx,yy)
{
    if mp_linear_step(xx,yy,4,false)
    {
        entered = true;
        if (!keyboard_check(vk_up) && !keyboard_check(vk_down)
        && !keyboard_check(vk_left) && !keyboard_check(vk_right))
        {
            image_single=0;
            image_speed=0;
        }
    }
}
else
{
    xx = x;
    yy = y;
}

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

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