Skocz do zawartości

Zablokowane Sprawdzanie distance w określonym kierunku


Gość members_display_name

Rekomendowane odpowiedzi

Mam mały i zapewne banalny problem, który wynika z pewnością z mojego braku pomysłowości. Mianowicie chciałbym sprawdzić, jaka odległość dzieli obiekt a od najbliższego obiektu b, ale w lini prostej tzn. sprawdzać ma tylko, ile pikseli jest do obiektu, który znajduje się załóżmy najbliżej z tych, będących na tym samym y i znajdujących się na lewo od obiektu a oraz zapisywać zwróconą wartość do zmiennej xx dodając do niej 32. Z resztą warunków (prawo, góra, dół) to ja sobie już z pewnością poradzę...

 

Schemat (xP) sprawdzania-sprawdza tylko odległość od b1, który znajduje się najbliżej w linii prostej i na lewo.

 

b1
<xxxxxxxxxxxxxxxxxxx

<
b2
xx
b
<--------------------^a

 

PS. Te obiekty, których obecność ma się sprawdzać są not-solid, czyli trzeba raczej korzystać np: z place_empty, jeżeli tego typu kod jest potrzebny...

PS2. Sorry, że zadaję noobskie pytania, ale ja masterem w GM jednak jeszcze nie jestem :P

Odnośnik do komentarza
Udostępnij na innych stronach

Trochę źle mnie zrozumiałeś...to o tym samym y (no właśnie-muszę poprawić :P ) jest tylko dopełnieniem sprawdzania najbliższego obiektu, znajdującego się na lewo i na tym samym y...będącego not-solid (czyli coś z place_empty będzie).

Odnośnik do komentarza
Udostępnij na innych stronach

Niestety, ale nie-nie mam pomysłu na warunek sprawdzający odległość najbliższego obiektu będącego w tej samej linii y co gracz (niech będzie, że gracz), oraz znajdującego się na lewo od niego. Potrzebny mi jest dokładnie tak sprawdzany warunek.

 

PS.instance_nearest sprawdza najbliższy obiekt (określonego typu), znajdujący się w ogóle najbliżej określonego x i y.

Odnośnik do komentarza
Udostępnij na innych stronach

Teraz już zupełnie się pogubiłem. Chcesz aby do zmiennej xx zapisać odległość najbliższego obiektu który ma ten sam y i jest z lewej strony?

if x.instance_nearest(x,y,obiekt) > x && instance_nearest(x,y,obiekt).y=y
{
//tutaj nie wiem jak zrobic (pewnie o to ci chodziło, ale nie jetsem pewien)

}

Odnośnik do komentarza
Udostępnij na innych stronach

if x.instance_nearest(x,y,obiekt) > x && instance_nearest(x,y,obiekt).y=y

Nie wiem, czy wypali...muszę sprawdzić i pokombinować.

Powinienem to przekształcić na jakoś tak: (może to Wam pomoże)

xx-=tutaj wynik odległości obiektu od gracza będącego na tym samym y co gracz oraz mającego x najbliższe graczowi (uwzględniając tylko te obiekty, które znajdują się "na lewo").

Odnośnik do komentarza
Udostępnij na innych stronach

przecież banał? Chodzi ci o sprawdzenie ile np w odległości po osi y jest pixeli do najbliższego obiektu?

var naj,dist;
naj=instance_nearest(x,y,obiekt); /* zapiszemy se do zmiennej tymczasowej id najblizszego obiektu gdzie "obiekt" to twoj cel */
if (naj.y>y)
{
dist=abs(naj.y)-abs(y);
}
if (naj.y<y)
{
dist=abs(y)-abs(naj.y);
}

/* gdzie dist jest odlegloscia w pixelach*/

 

Pisalem w pośpiechu wiec możliwe że źle

Odnośnik do komentarza
Udostępnij na innych stronach

przecież banał? Chodzi ci o sprawdzenie ile np w odległości po osi y jest pixeli do najbliższego obiektu?

 

Niedokładnie-chodziło mi o to, ile jest po np: osi y obiektu a do najbliższego obiektu b będącego na tej osi i znajdującego się np: u góry. Twoja interpretacja zabrzmiała trochę inaczej...

 

PS. Już sobie poradziłem dużo wcześniej, ale mimo wszystko dzięki za chęci..

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...