Dodajemy grafiki

bugajsky.pl 7 lat temu

Jak wspominałem w ostatnim wpisie, dziś zajmiemy się, zmianą grafiki strzału. Jednak, aby wpis nie był przy krótki, zmodyfikujemy kod odpowiedzialny za wyświetlanie, naszej bazy oraz prezentów rozsypanych na mapie. Dzięki tej zmianie, nasza gra będzie wyglądać zdecydowanie lepiej. Dotychczas te elementy gry, prezentowane były podczas rozgrywki jako kolorowe kwadraty. Teraz zostaną zastąpione przez grafiki.

Tekstury

Strzał

Zdecydowanie lepiej prezentuje się ten czerwony punkcik, niż poprzednia grafika. Musimy jednak pamiętać, iż przy wyświetlaniu tej tekstury, ma być ona, zarówno strzałem bohatera jak i przeciwników.

Baza

Skorzystamy kolejny raz z grafik przygotowanych przez Kenney.nl. od dzisiaj nasza baza będzie przedstawiona jako daszek budynku, który ma być osłaniany przez gracza.

Prezent

To grafika przygotowana przeze mnie. Nie wymagała, zbyt wielu umiejętności, a na pewno lepiej się prezentuje, niż fioletowy kwadrat.

Kodujemy

W tym wpisie wszystkie dodane grafiki, będą wyświetlane w ten sam sposób. Dlatego pierwszym razem dokładnie opiszę, a później będę się odnosił do wcześniej dodanego elementu.

Strzały

Aby uprościć zrozumienie wprowadzanych zmian podaje link do wpisu, w którym pomawiałem mechanizm strzałów, zaimplementowany w naszej grze wpis – „Strzelaj” – powiedział dowódca.

Na dobry początek musimy w naszej klasie Game.java dodać nowe pole, które będzie odpowiedzialne za ładowanie naszej nowej grafiki.

private Texture textureShoot;

Następnym naszym krokiem, będzie inicjalizacja zmiennej, czyli załadowanie grafiki do nowododanego pola.

textureShoot = new Texture("shoot.png");

Teraz pozostaje podmienić grafikę, jaka ma być wyświetlana dla wszystkich strzału dodanego do naszej listy. Nie zapominając, iż mamy dwie listy, jedna zawiera strzały bohatera, natomiast druga strzały wrogów.

Poprzedni kod odpowiedzialny za wyświetlanie strzałów bohatera

for (Shoot s : strzaly) { batch.draw(textureShoot, s.x, s.y); }

Obecny kod

for (Shoot s : strzaly) { batch.draw(s.getTexture(), s.x, s.y); }

Poprzedni kod odpowiedzialny za wyświetlanie strzałów wrogich jednostek

for (Shoot s : strzalyPotworow) { batch.draw(textureShoot, s.x, s.y); }

Obecny kod

for (Shoot s : strzalyPotworow) { batch.draw(s.getTexture(), s.x, s.y); }

Baza

Przechodzimy do klasy Baza.java, gdzie będziemy wprowadzać wszystkie zmiany. Dla ułatwienia zrozumienia co się tu za chwilę wydarzy, podaję link do wpisu, gdzie tworzyliśmy kod naszej bazy wpis – Baza – Odbiór.

Pierwszym naszym krokiem będzie pozbycie się zmiennej pixmap i wszystkich odwołań i metod z nią związanych.

Teraz przy inicjalizacji zmiennej texture, zamieniamy parametr, z wcześniej usuniętej zmiennej pixmap na „baza.png”. Taka niewielka zmiana umożliwiła nam, wyświetlanie ładnie prezentującej się tekstury naszej bazy.

Prezent

Przyszedł czas na ostatnią podmianę grafiki w tym wpisie. Teraz na warsztat bierzemy nasze prezenty, pojawiające się w losowych miejscach na mapie. Również, podaje link do wcześniejszego wpisu, który ułatwi zrozumienie wprowadzanych zmian wpis – System prezentów.

Przechodząc teraz do klasy Gift.java, ponownie usuwamy zmienną pixmap, dokładnie tak samo jak w przypadku bazy, a teksturę inicjalizujemy, poprzez zmianę parametru na „gift.png”.

Efekt działania

Podsumowanie

W tym wpisie dodaliśmy trzy nowe tekstury, które poprawiają wizualną stronę naszej gry. od dzisiaj strzały nie są już czerwonymi kwadratami, podobnie ma się sprawa z fioletowymi prezentami, prezentowane są dzięki ładnych tekstur. Baza natomiast przestała być zielonym prostokątem i stała się pięknym dachem widzianym z lotu ptaka. W kolejnych wpisach dokonamy kolejnych zmian, które będą nas przybliżać do udostępnienia kolejnej wersji gry.

Pozdrawiam,

sirmarbug

Idź do oryginalnego materiału