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

Literatura