Skocz do zawartości

Poruszanie się wzdłuż obiektu


Bedziom

Rekomendowane odpowiedzi

Cześć, to znowu ja :)

Tym razem chodzi o to, żeby object1 poruszał się wzdłuż kilkunastu, kilkudziesięciu instancji obiektu object2. Tak, jak na obrazku.

statatata.png

Ale nie zawsze object2 będzie się układał w akurat takie ścieżki, więc path chyba nie jest dobrym rozwiązaniem.

Odnośnik do komentarza
Udostępnij na innych stronach

te obiekty beda dynamiczne, czy statyczne? (beda sie czesto, powiedzmy co klatke, ruszac, czy caly czas w tym samym miejscu po ich utworzeniu?)

Odnośnik do komentarza
Udostępnij na innych stronach

hhhmmm...

to będzie tak, że object2 będzie istniał na "chodnikach" lub "ulicach" w grze, i będzie przez całą planszę robił tzw. koło, a object1 ma być czymś w stylu przechodnia lub np. samochodu, który będzie się poruszał po planszy za pomocą ścieżek utworzonych przez object2.

 

Więc object 2 będzie statyczny, a object1 dynamiczny.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Musisz mieć w każdym z obiektów odnośnik/wskaźnik/id do kolejnego obiektu z przodu, a w objekt1 odnośnik do któregoś z obiekt2

 

1. Wyznaczasz pozycję o 90° w lewo od kierunku kolejnego obiektu o dowolnej odległości od obiekt2 i kierujesz się do niego obiektem1.

2. Gdy dotrze do pozycji zmieniasz odnośnik na kolejny.

3. I już :)

 

Niedługo pojawi się przykład. A oto on: PRZYKŁAD

Odnośnik do komentarza
Udostępnij na innych stronach

Ta linia odpowiada za zmianę obiektu, do którego idzie na następny. To, skąd on ma wiedzieć, co to za obiekt dowiaduje się właśnie z poprzedniego obiektu. Innymi słowy:

1. Po odliczeniu alarmu id_to zamienia się z -1 (brak ruchu) na najbliższy obiekt o_obiekt

2. Ten obiekt powinien mieć zdefiniowane zmienne image_angle (do znalezienia miejsca na lewo/prawo od obiektu, można zmienić na inną zmienną) i id_next jako id kolejnego obiektu, każde indywidualnie, sprawdź Creation Code każdego z obiektów (Ctrl + PPM), tam są te zmienne zdefiniowane.

3. Po dojściu do obiektu o_ja korzysta ze zmiennej id_next umieszczonej w o_obiekt do którego zdążało, żeby ustalić, do którego następnego ma iść. Dlatego id_next musi być zdefiniowane w łańcuchu o_obiekt. Może to być id kolejnego obiektu (np 100024), lub -1 jako koniec ruchu.

 

Użyłem zasady tzw. Linked Listy, czyli każdy obiekt posiada odnośnik do kolejnego obiektu, a ostatni urywa łańcuch. Jeżeli inaczej chcesz połączyć obiekty, daj znać :P .

Odnośnik do komentarza
Udostępnij na innych stronach

Dopsz, coś z tego zrozumiałem (znacie mój dar programowania w gm).

 

Co na to poradzić? Bo Ty (jeśli dobrze zrozumiałem) wyjaśniłeś mi, co znaczy co...

 

:)

 

napiszę Wam, jak to ma wyglądać :

 

OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

O ---------------------------------------------------------------O

O |OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO|O

O |OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO|O

O |OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO|O

O |OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO|O

O |------------------------------------------------------------- O

O |OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO| O

O -------------------------------------------------------------------- O

OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

 

Dobra, średnio to wyszło.

Legenda :

O - ściana

- i | - droga, po której ma się przemieszczać obiekt

 

Zależy mi, żeby zrobić to poruszanie się bez pathów, bo one nie przewidzą np. ścian.

Odnośnik do komentarza
Udostępnij na innych stronach

... nie można było obrazkiem?

nie mam pejnta ani nic innego tutaj. nie mój komp.

I gdzie w ogóle ten obiekt (pozycja startowa czy coś)

powiedzmy, że w prawym górnym rogu

btw: nie chodzi ci może o znajdowanie drogi?

niet.

Te kreski to będą obiekty z przezroczystymi sprajtami albo bez nich, a "po nich" lub obok nich ma się poruszać bot.

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