Skocz do zawartości

Szybsze poruszanie się postaci !!!


Mideooo

Rekomendowane odpowiedzi

w lewo

 

if place_free(x-2,y+0)

x=x-2

y=y+0

 

 

w prawo

 

if place_free(x+2,y+0)

x=x+2

y=y+0

 

 

w control

 

if keyboard_check(vk_right)

{

action_move("000001000",4);

}

 

else

 

if keyboard_check(vk_left)

{

action_move("000100000",4);

}

 

else

 

if keyboard_check_released(vk_left) and keyboard_check(vk_control)

{

speed=0

}

 

else

 

if keyboard_check_released(vk_right) and keyboard_check(vk_control)

 

{

speed=0

}

Odnośnik do komentarza
Udostępnij na innych stronach

step:

 

Edit by gnysek: Ten kod jest całkowicie niepoprawny i pełen błędów!

 

if keyboard_check(vk_right)
{
place_free(x+2,y)
{
x+=2
}
else
if place_free(x=2,y)
{
!keyboard_check(vk_right)
}
}

if keyboard_check(vk_ctrl) && keyboard_check(vk_right)
{
place_free(x+5,y)
{
x+=5

}
else
if place_free(x=5,y)
{
!keyboard_check(vk_right)
}
}

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

bucior ja widziałem już wiele skryptów, ale tak (przepraszam za wyrażenie) "zjebany" widzę pierwszy raz w zyciu. Każdy programista powinien wiedzieć, że warunek zaczynamy od wyrażenia if a nie od pisania warunku. place_free zwraca nam 1 lub 0 w przypadku gdy miejsce jest wolne lub nie, a w twoim przypadku to wyglada jakby miał robić wolne miejsce, bo brak tam jakiegokolwiek if. Pozatym x=2 to ja nie wiem co to za zapis, ale w place_free to on jakoś niebardzo...

 

To ja was teraz rozłoże na łopatki krótkością tego kodu (oczywiscie dla całkowicie dobrego poruszania trzeba by sprawdzić jeszcze kilka innych zależności, ale widzę, że kolega jest początkujący).

if keyboard_check(vk_left) and place_free(x-4,y)//jezeli klawisz w lewo i wolne miejsce na x-4
{
if keyboard_check(vk_ctrl) then x-=4 else x-=2;
}

...

//itd. analogincznie do fragmentu powyżej

Na sam koniec niczym z zaciętej płyty przypominam o czytaniu Helpa do GameMakera.

Odnośnik do komentarza
Udostępnij na innych stronach

To ja was teraz rozłoże na łopatki krótkością tego kodu (oczywiscie dla całkowicie dobrego poruszania trzeba by sprawdzić jeszcze kilka innych zależności, ale widzę, że kolega jest początkujący).

 

LOL - ten kod jest krótki, bo nie jest cały, ot co :P

Odnośnik do komentarza
Udostępnij na innych stronach

A może tak:

Robimy skrypt "ruch"

if keyboard_check(argument0) and place_free(x argument1 4,y)
{
if keyboard_check(vk_ctrl) then x argument1 =4 else x argument1 =2;
}

W evencie Left:

ruch(vk_left,-);

W evencie Right:

ruch(vk_right,+);

Nie jestem pewien czy zadziała "argument1" ale może... ;)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
Dobra spoko mi to w człowieku zadziałalo tylko że miałem wiecej if'ów, a jeśli chodzi o place_free(x+5,y)

to jest ddobrze tak mi działa w mojim algorytmie platformowym.

 

a place_free(x=5,y) to co to za zapis ?? chyba place_free(x+5,y) ??

Odnośnik do komentarza
Udostępnij na innych stronach

Ale żaden z przykładów nie działa :boxed:

 

O rety! Po co marudzić, czy nie wystarczy poprośić Bigsharka o skołowanie przykładu? Czyżbyś nie znał słynnego powiedzenia: O KAŻDEJ PORZE BIGSHARK ZAWSZE WAM POMOŻE. Akurat tak się składa że kiedyś musiałem jednemu użytkownikowi coś takiego robić więc bardzo proszę.

OTO PRZYKŁAD

Mam nadzieję że doczekam się słowa Dzięuje. <_<

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