ugrás a tartalomhoz

Game On példakönyvtár: térkép

Joó Ádám · 2010. Nov. 7. (V), 14.41

Ki ne játszott volna valamely klasszikus, mezőre osztott szerep- vagy stratégiai játékkal ifjúsága derekán? Műfaj máig népszerű, a dobókockás, az asztali 3d-s és a webes játékok között is.

Jono DiCarlo, a Mozilla munkatársa a Game On versenyhez készít példakódokat, hogy inspirálja azokat, akik eddig nem szándékoztak nevezni, és irányt mutasson azoknak, akik nem tudják, hogyan fogjanak hozzá.

Első kis könyvtára a térképkezelés alapjait valósítja meg. A pályához nem használ semmilyen egzotikus elemet: az egész egy nagy táblázat, melynek cellái a játékmezők. A karaktert a nyílbillentyűkkel terelhetjük egyik mezőről a másikra, miközben a program folyamatosan nyilvántartja, a térkép mely szelete látható épp a képernyőn, a szélső cellákhoz érve pedig frissíti a nézetet.

A dolog lelke a WorldMap osztály, az éppen kirajzolt terület kezdőkoordinátáit a _scrollX és _scrollY tárolják, a scroll() frissíti őket, ellenőrzi a határokat és meghívja a redraw()-t. Az autoScrollToPlayer() kiszámítja, mennyit kell görgessünk, hogy a kép követhesse a karaktert.

Mindezek mellett kész függvények állnak rendelkezésre ha korlátozni akarjuk egy mező átjárhatóságát, eseményt akarunk rendelni a rálépéshez, vagy át akarunk lépni egy másik térképre.

A kód a demóoldalon megtekinthető működés közben is.

A könyvtár MPL / GPL / LGPL hármas licenc alatt érhető el.

 
1

izometrikusan

aadaam · 2010. Nov. 7. (V), 21.45
izometrikusan izgalmasabb:

http://jo-hely.hu/~aadaam/aoe/

(Hint: 2:1-es atloju rombuszokkal kell dolgozni, es akkor konnyu a matek.)