Jeśli chcesz utworzyć różne Tilemapy o różnych rozmiarach sprawdź drugą część tego samouczka
komponent Tilemap został wprowadzony w Unity 2017.2 i znacznie ułatwił proces tworzenia gier 2D. Wraz z wersją 2018.3 wprowadzono izometryczną Tilemapę zapewniającą świetne wsparcie dla gier 2.5 D. Ostatnio miałem okazję ściśle współpracować z tym komponentem i postawiłem sobie za zadanie tworzenie kafelków programowo. W mojej ostatniej grze mam wiele poziomów i wszystkie z nich mają tę samą planszę opartą na Tilemapie. Ale sama płyta ma unikalną konfigurację. Oczywiście, będąc profesjonalnym programistą nie chciałem tworzyć 60 scen z gry i malować wszystkich poziomów ręcznie, ale raczej mieć mechanizm, aby wypełnić planszę odpowiednimi elementami w zależności od danego wejścia. Jeśli jesteś ciekawy, jak wygląda efekt końcowy tutaj jest link do gry.
kod źródłowy jest dostępny na GitHub, proszę, znajdź link na końcu tego samouczka.
używam najnowszego dostępnego Unity 2019.2.0.1 f. Aby pracować z tym samouczkiem, powinieneś mieć co najmniej wersję 2018.3. Użyjemy siatki izometrycznej, ale opisana technika ma zastosowanie do każdego typu.
przed rozpoczęciem zdecydowanie sugeruję przeczytanie tego genialnego izometrycznego środowiska 2D z wpisem na blogu Tilemap, aby uzyskać podstawową wiedzę na temat izometrycznej Tilemap.
ponieważ pracujemy w środowisku 2D, powinieneś skonfigurować nowy projekt 2D (patrz 2DAnd3DModeSettings)
do osiągnięcia naszego celu wymagane są 3 główne komponenty: plansza do gry, na której odbędzie się gra, miejsce, w którym można zachować opis poziomu i jakiś kod, który łączy się ze sobą.
Zacznijmy od zaimportowania potrzebnych zasobów obrazu. Użyję tych samych obrazów, których użyłem w mojej grze:
obrazy będziemy przechowywać w folderze kafelki, po prostu przeciągnij i upuść je tam.
uwaga! Powinieneś mieć ustawiony prawidłowy rozmiar „piksela na jednostkę” na każdy obraz płytki (aby uzyskać więcej informacji, zobacz izometryczne środowiska 2D z Tilemap). Dla tych obrazów wartość wynosi 1096.
dobrą praktyką jest rozdzielanie różnych warstw na scenie na dedykowane obiekty z opisowymi nazwami. Wyobraź sobie typowy ekran gry, który może zawierać strefę gry, interfejs użytkownika, miejsca docelowe reklam i tak dalej.
zgodnie z tym podejściem stwórzmy nowy pusty obiekt gry o nazwieGameZone, w którym można umieścić planszę i wszystkie elementy gry.
teraz nadszedł czas, aby utworzyć rzeczywiste płytki z wcześniej zaimportowanych obrazów