O projektu
Vidjeli smo da Box2D nudi brojne mogućnosti u prethodnim dijelovima ove stranice, no čitaoci trebaju biti svijesni da su to nisu sve funkcionalnosti koje su dostupne, jer ima još dosta atributa spomenutih klasa, dosta još nespomenutih klasa i slično.
Kao primjer projekta za ovaj kolegij napravio sam mini igricu koja predstavlja način na koji integrirati OpenGL i Box2D. Projekt je napravljen u C++-u te koristi SOIL biblioteku za učitavanje tekstura. Krajnji rezultat je nekakav mini 2D Game library sa klasama koje olakšavaju rad sa OpenGL i Box2D-om. Projekt je napravljen i testiran na Linux operacijskom sustavu.
Izvorni kod projekta
Izvorni kod projekta možete ovdje. Također projekt je dostupan i na Github-u na ovom linku.
Pokretanje projekta
Projekt je napravljen u Netbeans razvojnom okruženju i preporučljivo je da se preko njega i pokrene programsko rješenje. Naravno možete ručno kompajlirati izvorni kod i linkati sa Box2D bibiotekom. Ukoliko se odlučite na varijantu pokretanja putem Netbeansa potrebno je kompajlirati Box2D library na već opisan način, te:
Desni klik na projekt -> Properties -> Build -> C++ Compiler
U sekciji Include directories and headers potrebno je definirati putanju do raspakirane Box2D biblioteke. Npr. /home/ivpusic/libs/Box2D_v2.3.0/Box2D
Nakon toga potrebno je kliknti na:
Build -> Linker
Sada trebamo u sekciji libraries definirati putanje to Box2D biblioteke. Npr:
-L/home/ivpusic/libs/Box2D_v2.3.0/Box2D/Build/gmake/bin/Debug -lBox2D
Potrebno je još instalirati i SOIL biblioteku, te na isto mjesto dodati:
-lSOIL
Kontrole
Nakon što smo pokrenuli projekt na raspolaganju su nam sljedeće kontrole:- Desni klik miša - Stvaranje novog 'O' slova
- Strelice lijevo/desno - Podešavanje nagiba 'topa'
- Strelice gore/dole - Podešavanje snage ispaljenog metka
- Slovo s - Ispaljivanje metka
- Slova G/g - Uključivanje/isključivanje OpenGL iscrtavanja tekstura, oblika
- Slova B/b - Uključivanje isključivanje Box2D Debug draw-a
- Kursor miša - Tijela možete vući mišom