首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

基于WiEngine游戏发动机-物理引擎

2013-02-24 
基于WiEngine游戏引擎--物理引擎转发,请保持地址:http://blog.csdn.net/stalendp/article/details/8593256

基于WiEngine游戏引擎--物理引擎

转发,请保持地址:http://blog.csdn.net/stalendp/article/details/8593256

游戏中,物理引擎能够增加游戏的真实感。在WiEngine中集成了Box2d和Chipmunk两款物理引擎。物理引擎中提供了位置,速度,冲量,力等概念,能够方便地操作物体,当然也有更高级的特性(比如joint等)。在做demo程序集成物理引擎的时候,我只是用到了冲量和碰撞的特性。由于对Box2d熟悉,所以只介绍Box2D在游戏中的使用。

类似于TexturePacker工具,我这里将使用PhysicalEditor来定义游戏中body(Box2d中赋予body物理学中“刚体”的含义,属于基本单位)。TextureEditor的编辑过程,截图如下:

基于WiEngine游戏发动机-物理引擎

由于是动画,各帧有所不同,所以我只是粗略地定义了Fxiture(这样也减少了Fxiture的点的数目,提高效率)。其他密度,摩擦系数等随便设置,我这里暂且默认,以后在代码中也可以重新定义的。然后导出为plist文件(这里保存为herope.plist文件),截图如下:

基于WiEngine游戏发动机-物理引擎


这样plist中就包含了用于创建body的一些属性了,如上图所示的有:密度,摩擦系数,恢复,fixture等。

然后就是在WiEngine中使用物理引擎了,先载入plist文件。


基于WiEngine游戏发动机-物理引擎


=======

另外附

NDK的错误堆栈的翻译


1)在Application.mk文件中指定debug,如下:

APP_OPTIM := debug

这样编译之后,在工程的目录/obj/local/armeabi/下会生成objs-debug目录,这里面包含编译的符号表


2)把要分析的log保存到log.txt文件中

运行命令:ndk-stack -sym $PROJECT_PATH/obj/local/armeabi -dump log.txt

或者直接分析logcat中的日志:

adb logcat | $NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi 




热点排行