Skocz do zawartości

Strzały w dwie strony


Patryqs

Rekomendowane odpowiedzi

Ok, już staram się wytłumaczyć. Jest na to wiele różnych sposobów, zależnych od tego jak masz zrobiony sposób chodzenia (przyjmuje, że to platformowa gra).

Pierwszy sposób.

w Create daj

GML
kier=1 //definicja czy tam deklaracja, chyba nawet nie potrzebne, mniejsza</span></span>

Po naciśnięciu klawisza w Prawo

GML
kier=1 //zaznaczamy ktory kierunek 1 to prawo, 0 to lewo</span></span>

Po naciśnięciu klawisza w Lewo

GML
kier=0 //tutaj tak samo</span></span>

Po naciśnięciu klawisza strzału

GML
if alarm[0] = -1 then alarm[0] = 10 //wlaczamy alarm, zeby nie tworzyc MASY strzal</span></span>

Alarm[0].

GML
strzal=instance_create(x, y, obj_strzala) //tworzymy strzale

if (kier==0) //jezeli kierunek to 0, czyli lewo

strzal.direction=180 //direction bedzie sie rownal 180, czyli lewo

if (kier==1) // jezeli kierunek to 1, czyli prawo

strzal.direction=0 //direction bedzie sie rownal 0, czyli prawo

strzal.speed=10 //a tutaj ustawiamy predkosc strzaly</span></span>

 

Drugi sposób

W step daj

GML
if (x>xprevious) //jezeli jestesmy bardziej w prawo niz step wczesniej

kier=1 //kierunek rowna sie 1, czyli prawo

if (x<xprevious) //jezeli jestesmy bardziej w lewo niz step wczesniej

kier=0 //kierunek rowna sie 0, czyli lewo</span></span>

Po naciśnięciu klawisza strzału

GML
if alarm[0] = -1 then alarm[0] = 10 //ustawiamy alarm</span></span>

Alarm[0].

GML
strzal=instance_create(x, y, obj_strzala) //tworzymy strzale

if (kier==0) //sprawdzamy

strzal.direction=180 //ustawiamy, to juz tlumaczylem.

if (kier==1)

strzal.direction=0

strzal.speed=10

 

I jeszcze dużo dużo innych, ale myślę, że te Ci wystarczą, jak coś pisz :)

Odnośnik do komentarza
Udostępnij na innych stronach

Ale mu to wytłumaczyłes (s mi nie wchodzi >:| )

 

obj_player

create

GML
hot = 1

kier = 1 // jak masz w prawo to kier = 1 a jak w lewo to kier = 0</span>

 

w lewo

GML
kier = 0

 

w prawo

GML
kier = 1

 

klawiz trzalu

GML
if hot = 1

hot = 0

instance_create(x,y,obj_pocik);

alarm[0] = 2*room_speed

 

alarm 0

GML
hot = 1

 

 

obj_pocik

GML
if o_player.kier=0

action_move("000100000",20);

else

if o_bohater.kier=1

action_move("000001000",20);

 

 

DUM DUM DUM !!!! :)

Odnośnik do komentarza
Udostępnij na innych stronach

Też nie lubię action_move(). Używając direction, mogę ładnie sobie użyć

GML
image_angle=direction
, a tak to chyba nie za bardzo. I nie mogę ogarnąć które 0, za co odpowiada. To nie zostało zrobione tylko i wyłącznie na potrzeby klocka w zakładce move?
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ę...