Skocz do zawartości

Tower defenss


Rekomendowane odpowiedzi

To mój pierwszy przykład, więc będę się stresować.

 

TYTUŁ: BattleShipDefense

GATUNEK: Tower defense

DOWNLOAD:https://gmclan.org/up7221_12_0ed18165ac.html

ROZMIAR:313kb

AUTORZY: Ja i mój brat(grafika wieżyczek)

SCREENY:

defens1.png

defens2.png

OPIS:

Jako iż nikt takiego czegoś nie zamieszczał (przynajmniej nie widziałem) to postanowiłem wrzucić silnik

do Tower Defensa. Jest on mało rozbudowany (nie ma upgrajda np, kiepski system spałnu - Zabiera

dużo czasu i można tylko jeden rodzaj moba na lvl), ale mam nadzieję, że się spodoba :)

Odnośnik do komentarza
Udostępnij na innych stronach

Nie przetestowałem, gdyż nie mam GM 8.0 Pro. Jednakże mogę o przykładzie sporo się dowiedzieć patrząc jedynie w kod.

 

Za dużo niepotrzebnych sprite'ów. Zamiast tego, można było użyć funkcji draw_circle i draw_rectangle, które na pewno zabierają mniej miejsca niż te wielkie prostokąty i koła w zasobach.

 

Otoczenie lepiej robić na tilesetach z tego samego powodu. Choć nie trzeba.

 

Obiekt koniectrasy jest niepotrzebny. Lepiej dodać event Other -> End of Path i tam wykonać kod.

 

global.wyglad mógł być od razu indeksem sprite'a i wtedy kod na ustawianie sprite'a mógł wyglądać tak:

sprite_index = global.wyglad

 

Wystarczy jeden obiekt "pocisk", w którym dajesz parametry: obrażenia, szybkość i sprite_index. Oszczędność miejsca i, w niektórych przypadkach, obliczeń.

 

Ustawianie prędkości gry zmienną room_speed odpada. Co, jeśli ktoś ma za słaby komputer i fps nie będzie wchodził powyżej 30?

 

Obiekty "spawner" to klasa sama w sobie :D

 

To kilka uwag odnośnie wewnętrznej struktury przykładu. Ponieważ jednak nie mam możliwości sprawdzić, jak przykład wygląda, mogę się jedynie domyślać, że przykład działa jak należy Z tego powodu...

 

...dam Ci mocną tróję. Ucz się na błędach, które popełniłeś w tym przykładzie, a na pewno Twój kolejny przykład zasłuży ode mnie na czwórkę :P

Odnośnik do komentarza
Udostępnij na innych stronach

:D

 

Jeśli się nie mylę, to ktoś mnie po tym poprawił, że to jest najgorsze rozwiązanie. Ale najprostsze.

Lepiej używac zmiennej odpowiadającej za prędkość gry i mnożyc ją przez wszystkie zdarzenia w grze. Dużo z tym zachodu, ale jest lepiej na słabszych komputerach.

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