鍍金池/ 教程/ Android/ Box2D 的 Android NDK 實(shí)現(xiàn)
安裝 NDK
application.mk
調(diào)試
Android.mk 文件
Hello JNI 示例
概述
Box2D 的 Android NDK 實(shí)現(xiàn)
TwoLibs 示例

Box2D 的 Android NDK 實(shí)現(xiàn)

Box2D 是一個(gè)用于游戲的 2D 剛體仿真庫。程序員可以在他們的游戲里使用它,它可以使物體的運(yùn)動(dòng)更加可信,讓世界看起來更具交互性。從游戲的視角來看,物理引擎就是一個(gè)程序性動(dòng)畫(procedural animation)的系統(tǒng),而不是由動(dòng)畫師去移動(dòng)你的物體。你可以讓牛頓來做導(dǎo)演。

Box2D 是用可移植的 C++ 來寫成的。因此也可以通過 Android NDK 將它引用到 Android 平臺(tái),從而也可以在 Android 平臺(tái)使用 Box2D 引擎來編寫游戲。

這里介紹的是基于 AndEngine 的 Box2D 庫的擴(kuò)展,它就是通過 NDK 將 Box2D C++ 函數(shù)通過 JNI 實(shí)現(xiàn)了對(duì)應(yīng)的 Java 接口。源碼可以從 http://code.google.com/p/andengine/ 下載,或是從本地下載 (210 MM 包括所有源碼及示例)。

http://wiki.jikexueyuan.com/project/android-ndk-development-tutorial/images/8.1.jpg" alt="picture8.1" />

src 目錄提供了 Box2D 的 Java 接口,主要是通過調(diào)用 native Box2D C++函數(shù)庫來實(shí)現(xiàn)。NDK 最常見的用法是將一些 C/C++函數(shù)庫移植到 Java 平臺(tái),而不是直接用來寫 Android 應(yīng)用。

這是使用 Box2D 函數(shù)庫實(shí)現(xiàn)的一個(gè)實(shí)例 PhysicsRevoluteJointExample,源碼在上面 tar 包中。性能相當(dāng)不錯(cuò)。

可以參考其中 Android.mk 文件的內(nèi)容。

后面將專門介紹 AndEngine 開發(fā)包,如果你對(duì)寫手機(jī)游戲感興趣的話,請(qǐng)留意我們的博客。

http://wiki.jikexueyuan.com/project/android-ndk-development-tutorial/images/8.2.jpg" alt="picture8.2" />

上一篇:調(diào)試下一篇:Android.mk 文件