Skocz do zawartości

Dwa problemy z wrogiem ..


lvla2y

Rekomendowane odpowiedzi

Witam , mam 2 problemy z wrogiem

1:

Chciałbym aby obj_wrog strzały wystrzeliwały z pistoletu a nie tak jak jest u mnie wszystkich części ciała.

2:

Chciałbym aby obj_wrog i jego twarz obracała się w moją stronę , bo u mnie jest tak ja na tym przykładzie:klik , czyli chodzi mi o to , że twarz obj_wroga obrócona jest na lewo ( a obj_bohater jest na prawo ) i po zbliżeniu się obj_bohater twarz wroga obraca się na moją stronę i zaczyna strzelać w moją stronę. Jeżeli chcecie możecie to zrobić na moim przykładzie , jeżeli nie to na forum. Za pomoc oczywiście dziękuje.

Odnośnik do komentarza
Udostępnij na innych stronach

Proszę cię, na przyszłość pisz wyraźniej, bo ni hugo nie można zrozumieć czego chcesz.

 

Pierwszego pytania tzn:

Chciałbym aby obj_wrog strzały wystrzeliwały z pistoletu a nie tak jak jest u mnie wszystkich części ciała.

w ogóle nie rozumiem...

 

Co do drugiego też za bardzo nie wiem ale popróbuj z kodem

 

image_angle = direction;

direction = point_direction(...)

 

a jezeli to sprite to w draw_sprite_ext(...) masz rot który odpowiada za rotacje sprite

Odnośnik do komentarza
Udostępnij na innych stronach

W pierwszy chodzi mi o to , że gdy przeciwnik strzela żeby pocisk wystrzeliwany był z pistoletu , a nie np. z oka , ręki , głowy itp.

 

A co do tego drugiego , ten twój kod coś nie chodzi , coś takiego się pokazuje:

 

FATAL ERROR in

action number 2

of Step Event

for object obj_2:

 

COMPILATION ERROR in code action

Error in code at line 2:

direction = point_direction(...)

^

at position 30: Unexpected symbol in expression.

Odnośnik do komentarza
Udostępnij na innych stronach

nie działa bo argumentów nie wpisałeś, a co do strzelania to wyśrodkuj sprite i twórz pociskw taki sposób:

 

GML
i = instance_create(x+lengthdir_x(45,bohater.direction),y+lengthdir_y(45,bohater.dir

ection),obj);

 

tyle ze watosci musisz dobrac sam albo:

 

GML
sW = sprite_width/2;

sH = sprite_height/2;

 

GML
i = instance_create(x+lengthdir_x(sW,bohater.direction),y+lengthdir_y(sH,bohater.dir

ection),obj);

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra, mam czas wykorzystam go na twoją edukację, funkcja point_direction :

 

GML
point_direction(x1,y1,x2,y2);

 

funkcja ta zwraca kierunek od punktów (x1,y1) do punktów (x2,y2). Można powiedzieć że to tak jakbyś narysował linie od jednej kratki na papierze do drugiej. Ta linia to twój kierunek, więc za pozycje x i y oraz x2 i y2 musisz wstawić odpowiednie punkty (liczbowe). Np.

 

point_direction(x,y,100,100) zwróci ci kierunek od obiektu w którym wykonywany jest kod do pozycji 100(x),100(y) w roomie.

Odnośnik do komentarza
Udostępnij na innych stronach

Ściślej mówiąc żeby dać za punkt docelowy inny obiekt to musisz dać w x2 i y2 nazwa_obiektu.x oraz nazwa_obiektu.y

Co zwraca jego polozenie x i y.

Wiec jesli Ty bedziesz na 200(x) i 400(y) a przeciwnik 100(x) i 420(y) to wpisanie point_direction(x,y,obiekt.x,obiekt.y) jest jak point_direction(200,400,100,420)

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