Kolizije su povezane s levelom, također kod je refaktoriran za enemy i playera, tako da je više zajedno sa povezanom klasom (a ne izvan klase u globalnom prostoru).
Posebno važno za programere (sekcija "Refaktorizacija"):
@nloncar177
@roko9765
Kolizije
Igrač sad ima koliziju s levelom:
Također, kod enemyja rade i zna "poskočiti" da prijeđe preko male prepreke:
Refaktorizacija
Metode se sad definiraju i pozivaju za svaku klasu njezina, a ne globalno:
Posebno bitno za @mmarkoovin21:
Pošto ti radiš na main meniju i definiraš te glavne metode na drugom mjestu, kad budeš svoje mergeala, napiši ove nove metode umjesto onih starih:
Kako sada rade enemy, projektil i igrač:
Svaka klasa ima metodu movement, koja upravlja kretanjem te crtanjem te klase. Tako više nema metoda npr. RenderBullets() ili EnemyMovement(), nego enemy definira to dvoje unutar same te klase. Primjer na klasi Projectile:
Na ovaj način je puno lakše pratiti napredak i kod, nego da su sve moguće metode u globalnom prostoru.
Kako koristiti kolizije:
Ako nova klasa treba kolizije, potrebno je dodati naziv klase (još nema implementacije za više instanci istog objekta) na mjesto označeno brojem 1 te će se kolizije kalkulirati i za taj objekt, a objekt koji želi koristiti kolizije treba dobiti polje s kolizijama (označeno brojem 2 na slici) i implementirati metodu za provjeru kolizije npr. ProvjeriKolizije() iz player klase (druga slika po redu), ta metoda vraća Boolean, ovisno je li ima interakciju s kolizijama ili ne. Kolizije se definiraju prema mapi. Slike:
Kolizije su povezane s levelom, također kod je refaktoriran za enemy i playera, tako da je više zajedno sa povezanom klasom (a ne izvan klase u globalnom prostoru).
Posebno važno za programere (sekcija "Refaktorizacija"):
Kolizije
Igrač sad ima koliziju s levelom:
Također, kod enemyja rade i zna "poskočiti" da prijeđe preko male prepreke:
Refaktorizacija
Metode se sad definiraju i pozivaju za svaku klasu njezina, a ne globalno:
Posebno bitno za @mmarkoovin21:
Kako sada rade enemy, projektil i igrač:
Svaka klasa ima metodu movement, koja upravlja kretanjem te crtanjem te klase. Tako više nema metoda npr. RenderBullets() ili EnemyMovement(), nego enemy definira to dvoje unutar same te klase. Primjer na klasi Projectile:
Na ovaj način je puno lakše pratiti napredak i kod, nego da su sve moguće metode u globalnom prostoru.
Kako koristiti kolizije:
Ako nova klasa treba kolizije, potrebno je dodati naziv klase (još nema implementacije za više instanci istog objekta) na mjesto označeno brojem 1 te će se kolizije kalkulirati i za taj objekt, a objekt koji želi koristiti kolizije treba dobiti polje s kolizijama (označeno brojem 2 na slici) i implementirati metodu za provjeru kolizije npr. ProvjeriKolizije() iz player klase (druga slika po redu), ta metoda vraća Boolean, ovisno je li ima interakciju s kolizijama ili ne. Kolizije se definiraju prema mapi. Slike: