Skocz do zawartości

[Przykład] Interaktywne Tilesy


Rekomendowane odpowiedzi

Nudziło mi się więc zrobiłem dla was przykład:

 

Interaktywne Tilesy. Hm.

 

Ciężko streścić to w jednej nazwie, zobaczcie sami. Opis:

 

Przyklad pokazuje jak zamiast zwyklych ton obiektow, mozna zrobic interaktywne otoczenie przy pomocy zwyklego draw_sprite() i tablic. Same 'tilesy' mozemy sobie wygodnie ustawiac w roomie jako obiekty, jednak w grze zostaja one usuniete i zastapione przez rysowanie. Przyklad jest przystosowany do systemu poruszania - przyciaganie do siatki ( tutaj 16x16 ). W przykladzie pokazane sa kolizje, oraz usuwanie i tworzenie nowych tilesow juz w grze.

 

Link: https://gmclan.org/up2576_11_back_example.html

 

Niestety przykład zrobiony tylko pod ruch z przyciąganiem do siatki 16x16, no ale niestety gdybyśmy chcieli w GM'ie robić skomplikowane wyliczenia kolizji dla innych kształtów to podejrzewam że by się zesrał prędzej niż nam to pociągnął.

 

Sterowanie: strzałki - poruszanie postacią, LPM - tworzenie nowych tilesow, PPM - kasowanie tilesow.

 

Miłego testowania.

Odnośnik do komentarza
Udostępnij na innych stronach

Też ciekawy sposób. Ja korzystam z innej metody: Dodaję obiekty na room, a po rozpoczęciu gry są one kasowane i na ich pozycji jeden obiekt rysuje tyllko ich sprity, więc jest to bardziej wydajne niż umieszczanie tysięcy obiektów.

 

Twój przykład też jest bardzo dobry - nie ważne ile drzewek dodasz, zawsze są 2 instancje.

 

5/5

Odnośnik do komentarza
Udostępnij na innych stronach

Możesz zaprezentować? Jestem ciekaw jak to rozwiązałeś.

Ten kod nie jest w całości mój.

 

W napisaniu kodu pomógł mi bardzo Matthew, tu jest link do jego posta: https://forum.gmclan.org/index.php?s=&s...st&p=163704

 

Ja dodałem kilka funkcji np. zapis image_angle i dostosowałem różne rzeczy.

Odnośnik do komentarza
Udostępnij na innych stronach

O jezuuu, takie coś to se można w 2 minuty zrobić. Nie ma kolizji ani nic. Zero praktycznego zastosowania, jedynie można brud na trawie rysować.

Ja dodałem kolizje, nie chce mi się teraz grzebać w kodzie, ale robiłem coś z parent. Mówiłem że twój lepszy.

Odnośnik do komentarza
Udostępnij na innych stronach

O jezuuu, takie coś to se można w 2 minuty zrobić. Nie ma kolizji ani nic. Zero praktycznego zastosowania, jedynie można brud na trawie rysować.

Co masz do mojego sposobu!? :D Zresztą, mój kod był tylko do rysowania. Zero praktycznego zastosowania? W ten sposób można stworzyć "tło" gry.

 

I wg. moich testów, na obiektach jest to niewiele bardziej wydajne. Tile: 82-87/90fps, obiekty: 89-90/90. Room o wielkości 640px i tyle samo obiektów/tilesów.

Odnośnik do komentarza
Udostępnij na innych stronach

Co masz do mojego sposobu!?

Nie mam nic do twojego sposobu, tylko mówię że wielkiego zastosowania on nie ma, i takie rzeczy to ja już dawno temu robiłem ;p Więc to nic wielkiego/nowego.

I wg. moich testów, na obiektach jest to niewiele bardziej wydajne.

Ale mówisz tu o "prawdziwych" tilesach, czy tym rysowaniu jako sprite'y?

 

Mimo wszystko nie lubię syfić obiektami ;[ Wolę takie rozwiązanie.

No i kod kolizji i ogólnie całości można wykorzystać poza GM'em gdzie życie już nie jest tak proste ;]

Odnośnik do komentarza
Udostępnij na innych stronach

A ja widzę błąd zrobiłeś ograniczenie tilesów i gdy podczas gry dodajemy tilesa to znienna global.TILE_NUMBER += 1; dodaje jednego ale usunięcie tilesa nie odejmuje go, w wyniku powstaje coś takiego że można sobie dojechać do maxymalnej ilości ( 100 ) ale po usunięciu tilesów i tak nie można ich stawiać.

5/5

Odnośnik do komentarza
Udostępnij na innych stronach

A ja widzę błąd zrobiłeś ograniczenie tilesów i gdy podczas gry dodajemy tilesa to znienna global.TILE_NUMBER += 1; dodaje jednego ale usunięcie tilesa nie odejmuje go, w wyniku powstaje coś takiego że można sobie dojechać do maxymalnej ilości ( 100 ) ale po usunięciu tilesów i tak nie można ich stawiać.

Kurde :F Zapomniałem o tym na śmierć ;p

 

nie martw się jest git

Ależ ja się o nic nie martwię.

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