Skocz do zawartości
Ice Cube

strzal do najblizszego wroga

Rekomendowane odpowiedzi

czesc :)

 

W mojej super grze jest działo,które będzie strzelać do najblizszego wroga,ale ma problem by go wybrać...

 

działo step:

w1=distance_to_object(wrog1)

w2=distance_to_object(wrog2)

w3=distance_to_object(wrog3)

w4=distance_to_object(wrog4)

w5=distance_to_object(wrog5)

 

(tutaj funkcja ktora wybierze najmniejsze w) myśle o min(w1,w2,w3,w4,w5) - ale niewiem jak to ugryźć

 

 

instance_create(obj_pocisk)

obj_pocisk.direction=point_direction(x,y,wrog.x,wrog.y)

 

prosze o pomoc dzięki :)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Żaden z wrogów się nie powtarza? Bo gdyby np. było dwóch wrog1 na mapie, to wtedy zamiast distance_to_object(), jest funkcja instance_nearest(x,y,object), która zwróci najbliższego z nich. Ale w taki sposób jak ty chcesz, to może zrób to tablicą, czyli zamiast 5 zmiennych, zrób tablice w[] i przypisuj w[0]=distance_to_object(wrog1), w[1]=distance_to_object(wrog2) itd...

Potem w pętli for, szukasz najwyższej z tych wartości

najblizszy=0
for(var i=0; i<5; i++)
{
      if(w[i]<w[najblizszy])
            najblizszy=i;
}

Wiesz już który z nich to najbliższy, bo jego indeks jest zapisany w zmiennej najblizszy, możesz zrobić 5 ifów, if(najblizszy==0) then strzel_do_wrog1(), choć to mało eleganckie rozwiązanie.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

wróg1-obj_zombi

wróg2-obj_szkielet

wróg3-obj_smok

wróg4-obj_pajak

wróg5-obj_szczor

 

wszystkich zombi,szkieletów itp jest sporo,chodzi o to by wybrac najbliższego i strzelic

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ustaw wszystkim wspólnego rodzica (parent) i wtedy najbliższy jest instance_nearest(player.x, player.y, obj_rodzic);

  • Super (+1) 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

a zapytam jeszcze z ciekawości 

czy jest jakas funkcja w gm,lub inny patent na to by z pieciu zmiennych(w1,w2,w3,w4,w5),które co takt się zmieniają wybrać jedną najmniejszą ?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

min()

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Gnysek podasz prosty przykład z min()

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
najmniejsza = min(argument1, argument2, argument3, argument4, argument5);

najmniejsza = min(3, 5, 12, 2, 6); // zwroci 2

Żeby takie proste rzeczy wyjaśniać :D 

 

Edit:

Nie pamiętam ile w GMie jest max argumentów dla tej funkcji ale chyba 16.

  • Super (+1) 1
  • Lubię (+1) 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
1 godzinę temu, adam014 napisał:

najmniejsza = min(argument1, argument2, argument3, argument4, argument5);

najmniejsza = min(3, 5, 12, 2, 6); // zwroci 2

Żeby takie proste rzeczy wyjaśniać :D 

w końcu dział pytania początkujących :D

1 godzinę temu, adam014 napisał:

 

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

To dla początkującego powiem, ze do GM jest dołączony bardzo obszerny manual tłumaczący co i jak, który znajduje sie online pod adresem https://manual.yoyogames.com/ .

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Dnia 17.11.2020 o 22:44, gnysek napisał:

To dla początkującego powiem, ze do GM jest dołączony bardzo obszerny manual tłumaczący co i jak, który znajduje sie online pod adresem https://manual.yoyogames.com/ .

Racja,ale oprócz schematycznego manuala warto na każde zagadnienie spojrzeć z alternatywnej strony i poszerzyć jego spektrum zrozumienia dzięki waszym wyczerpującym odpowiedzią:)  

 

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ten manual jest tak dobrze napisany i skonstruowany że właściwie niczego innego nie potrzeba do nauki. 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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

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

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×