android 3D引擎 catcake

经过一下午的研究,终于让catcake的samples完全跑起来了,但是离真正的开发,还有一段距离。

catcake的code地址为http://code.google.com/p/catcake/


我们可以看到这样的文件结构。


-

如上图所示,有个hello_catcake例子,我们将include和lib整个文件都拷贝进来,在Android.mk中我们做如下修改:

LOCAL_PATH := $(call my-dir)


include $(CLEAR_VARS)


LOCAL_MODULE := hello_catcake


LOCAL_SRC_FILES := main.cpp hello_catcake.cpp


LOCAL_C_INCLUDES := include


LOCAL_CXXFLAGS := -DNDEBUG -DCK_ANDROID


LOCAL_LDLIBS := -Llib -lcatcake -lfreetype -lpng -lz -lGLESv1_CM -lgcc


include $(BUILD_SHARED_LIBRARY)


就是重新指向include,lib的路径。


原项目lib中应该没有编译文件,http://download.csdn.net/detail/kurloo/4423275,我将此hello_catcake的例子已上传,可以下载了,使用其中的lib文件夹中的文件完全可以。

此lib文件夹对于所有的应用都有用,所以还是最好下载下。

然后我们用cygwin进行重新编译,对于没有用过ndk的朋友,可以到网络上搜索下,一搜一大堆。

跑出来的效果就不展示了。


大家可以看下,这个文件夹下,有12个demo,都是cpp的文件,那么我们如何在android机器上跑起来呢?其实仿造那个hello_catcake例子,就可以

很好的调试出来。我们以sample11_model为例:

第一步:我们可以将那个hello_catcake的例子导入中项目中,里面我写了个App类,可以自动导入资源,资源全部放到asset中,不需要再adb push什么的。

第二步:将libs,obj文件夹全部删除掉,将hello_catcake中jni文件夹下面的.cpp  .h文件都删除掉,然后将sample11_model中的文件拷贝进来,另外catcake_logo.cpp在sample01中,不然编译通不过。


第三步:修改Android.mk为

LOCAL_PATH := $(call my-dir)


include $(CLEAR_VARS)


LOCAL_MODULE := collision


LOCAL_SRC_FILES :=  catcake_logo.cpp golem.cpp jeep.cpp main.cpp


LOCAL_C_INCLUDES := include


LOCAL_CXXFLAGS := -DNDEBUG -DCK_ANDROID


LOCAL_LDLIBS := -Llib -lcatcake -lfreetype -lpng -lz -lGLESv1_CM -lgcc


include $(BUILD_SHARED_LIBRARY)

其实,就是修改LOCAL_SRC_FILES 中的需要编译的cpp,如果LOCAL_MODULE 也修改了的话,那么记得在HelloCatcakeActivity.java中也修改下private Catcake m_catcake = new Catcake("collision");


第四步:

修改下main.cpp,  注释掉下面一句代码,不然程序一跑,就退出了。

 // ckDestroyCatcake();

另外资源加载那儿注意下,将所有的../data修改下,如下修改:

/data/data/catcake_application.hello_catcake/data/catcake_logo_71x14.png


第五步:NDK编译吧,直接上图,关于那个rm -r NUL,是因为编译的时候,在window下删除不掉这个文件,我就直接在cygwin下干掉它了。



第六步: 刷下项目,然后跑吧,发下淫荡的效果图,我是用的1024*768的山寨pad跑的,完全无压力啊。


对于其中12个sample中别的例子,用相同的方法,也可以跑起来,我测试了几个都没有问题。


另外,转载请标明出处:http://write.blog.csdn.net/postedit/7737511


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值