AILab-FOI / PRRI-HoloGameV2024

PRRI HoloGameV 2024
GNU General Public License v3.0
0 stars 1 forks source link

44 povezivanje kolizija s levelom #45

Closed dmatijani closed 6 months ago

dmatijani commented 6 months ago

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: image

Također, kod enemyja rade i zna "poskočiti" da prijeđe preko male prepreke: image

Refaktorizacija

Metode se sad definiraju i pozivaju za svaku klasu njezina, a ne globalno: image

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: image

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:

imageimage

mmarkoovin21 commented 6 months ago

Primljeno na znanje šefe 👍