Hasznos külső könyvtárak cocos2d-x keretrendszerben való fejlesztéshez

Posted by | · · · · | Cégélet · Webstar Works | Nincs hozzászólás a(z) Hasznos külső könyvtárak cocos2d-x keretrendszerben való fejlesztéshez bejegyzéshez

Játékunkban a játékosok adatai sqlite3 adatbázisban, a pályák konfigurációja JSON formátumban van tárolva. Ezért portoláshoz, meg kellett találnunk a megfelelő függvénykönyvtárakat. A leírások feltételezik két korábbi bejegyzésünk során létrehozott példaprojekt környezetét, itt és itt találjátok a kapcsolódó bejegyzéseket.

sqlite3 c library

A cocos2d-x 2.1.1 is már tartalmazza ezt a függvénykönyvtárat, ettől függetlenül mi külön implementáltuk a projektünkbe (nem tekintettük opciónak az Sqlite lekérdezéseknél a cocos2d-x LocalStorage megoldásában a JNI hívások sokaságát).

Először töltsük le innen tömörítve a forrásfájlokat. Ezek közül a shell.c kivételével tömörítsük ki a projektünk Classes mappájába létrehozott Extensions (vagy Third Party, stb.) mappába. Ezek után ez is belefordul majd a projektünkbe, így bátran használhatjuk.

(ha nem a mi fordító scriptünket használjátok, akkor hozzá kell fűzni az sqlite3.c fájl nevét a jni/Android.mk LOCAL_SRC_FILES változójához)

Fordításkor láthatjuk, hogy lefordítja a robusztus sqlite3 függvénykönyvtárat is (nagyon-nagyon-nagyoooon lassan, erre később mutatunk egy trükköt).

Használatához rövid példa itt. Mi is írtunk egy bővebb wrapper osztályt az sqlite3 köré a gyorsabb használat miatt, egy későbbi bejegyzésben ezt bemutatjuk majd példákkal.

cJSON

A függvénykönyvtár neve önmagáért beszél, JSON feldolgozást tesz lehetővé c függvényeken keresztül. Mi azért választottuk ezt, mert nem tekintettük opciónak a JSON feldolgozásnál a JNI hívások sokaságát.

Választásunk a cJSON nevű függvénykönyvtárra esett, innen könnyedén letölthetitek.

Tömörítsük ki a cJSON.h és a cJSON.c fájlokat a Classes/Extensions/cJSON mappába.

Ez is lassítja a fordítási folyamatunkat (mint minden forrásfájl amit belefűzünk), de a fordítást gyorsító “trükk” majd ezt is megoldja.

A cJSON használatát a letölthető tömörített állományban található README fájl példái alapján sajátítottam el, majd írtam egy wrapper osztályt, ami egyszerűsíti a munkát a JSON objektumokkal. (a wrapper osztályokat is nagyon szeretjük 🙂 )

Egy későbbi bejegyzésben bemutatjuk ezt is.

Összefoglalás

Bemutattunk két függvénykönyvtárat amik rendkívül hasznosak, sőt elengedhetetlenek az alkalmazásainkban.
Ezek implementálása a projektünkbe megnöveli a projekt fordítási idejét, erre a következő bejegyzésemben mutatok megoldást.

Jó kódolást!


No Comments

Leave a comment