Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

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 :)

Opublikowano

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...

Opublikowano

Aha. To daj takie coś w stepie, że if direction = 180 (strona <-) then sprite_idex = ... I if direction = 0 (storna ->) then sprite_index = ...

 

I już. x]

Opublikowano
w strony mam wpisac nazwe spritow??

Lol, nic masz tam nie wpisywać. Przecież po warunku może być tylko akcja do wykonania, a nie jakaś dodatkowa wartość.

Opublikowano

Uoj to nie jestem pewien, czy jest taki kod na klawisz klawiatury... ale spróbuj tego: keyobard_string = "q" ... Może podziała ;/

Opublikowano

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

Opublikowano
Uoj to nie jestem pewien, czy jest taki kod na klawisz klawiatury... ale spróbuj tego: keyobard_string = "q" ... Może podziała ;/

if (keyboard_check_pressed(ord('Q')) {
sprite_index=(animacja);
}

Opublikowano

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

Opublikowano

przy nacisnieciu klawisza q

if sprite_index = spr_gora
{
sprite_index = (ta anmiacja w gore)
}
else

if sprite_index = spr_dol
{
sprite_index = (ta anmiacja w dol)
}

//idt. xD

Opublikowano

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...

Opublikowano

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?????

Opublikowano

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

Opublikowano

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

Opublikowano

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

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ę...