android 3D引擎 catcake

來源:互聯網
上載者:User

經過一下午的研究,終於讓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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.