Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Sytuacja wygląda tak: Ptak leci nad jakimś terenem generowanym z kostek. W momencie kiedy gracz kliknie chciałbym, żeby z kostką bezpośrednio pod ptakiem coś się działo (np. pęka i znika). Tak naprawdę potrzebuje współrzędnej kostki, która jest najbliżej ptaka, ale bezpośrednio pod nim ponieważ może być sytuacja, że ptak lecąc obok góry będzie miał bliżej (jeśli użyjemy instance_nearest) szczyt tej góry niż kostkę poniżej. Póki co najbliżej rozwiązania byłem wystrzeliwując obiekt w dół z prędkością x+=100 do momentu zetknięcia się z kostką, ale jest to bardzo mało precyzyjne, ponieważ przy takiej prędkości kolizja z kostką czasem nie zachodzi czasem zachodzi z kolejną itp.

 

Ma ktoś jakiś pomysł? Chodzi mi raczej o coś prostego.

Opublikowano

Tak mam pozycję x,y ptaka, ale kostki są ułożone jak w Terrari czyli wiele na sobie. jeśli wezmę pozycję x kostki to jest ich powiedzmy 10. Rozumiem, że potem mogę sprawdzać pozycję y i najmniejsza to będzie ta jedyna, ale przy 400 kostkach na ekranie nie chcę do nich "wkładać" kodu, który sprawdza ich aktualną pozycję - no chyba że inaczej się nie da ale nie wierzę.

Opublikowano

jesli kostky so naprz 32pix, ale ptak leci y+=1(lub cos tam), wystarzcy ze bezdzie wybrana 1 kostka z dwoch?

w chwili kiedy ptak przekracza granice miedzy kostkami, jest wiecej mozliwych zadan co ma sie robic :)

 

krajina kostkowa jest chyba neskonczona i przesuwa sie na przeciw ptakowi, niemyle sie?

 

ogolnie to chyba uzylbym ds_ structury do przechowania pozycji top kostek i porownywal o_ptak.x z pozycjo w ds_ structurze

 

mozna by tez uzyc testow jak:

- position_meeting(x,y,obj)

albo

- collision_point(x,y,obj,prec,notme)

 

Opublikowano

GML
yy=0

do

{

i=instance_position( x, y+yy, obj );

yy+=16 //wysokość bloczka

}

until(i<0)

//i to twoja instance</span>

 

ps: Pierwszego postu tak nie zrozumiałem że wydawało mi się że chcesz to zrobić w 3D. W 2D wystarczy Ci tylko x.

  • Administratorzy
Opublikowano

Ja bym tam jeszcze dodał warunek dla jakiegoś granicznego Y, żeby jak zabraknie bloczków nie wpadło w nieskończona pętlę.

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