從0開始創(chuàng)建一個(gè)cocos2dx項(xiàng)目然后運(yùn)行是可以的,但是如果我們要自己來創(chuàng)建屬于自己的場景類呢? 理論永遠(yuǎn)只是停留在理論,實(shí)踐過后才知道問題并不是那么簡單: 初步嘗試: 1.在項(xiàng)目工程中的classes文件夾中右擊-添加-新建項(xiàng)--,然后開始寫類代碼; 2.在邏輯類
從0開始創(chuàng)建一個(gè)cocos2dx項(xiàng)目然后運(yùn)行是可以的,但是如果我們要自己來創(chuàng)建屬于自己的場景類呢?2.查看新增文件的路徑(在cocos的默認(rèn)路徑--sln路徑--非CLasses路徑)
3.手動(dòng)將新增源碼文件copy到相應(yīng)項(xiàng)目工程的Classes路徑
4.工程中先把源文件刪掉,再右擊Classes-add-現(xiàn)有項(xiàng)-找到Classes路徑--添加新增文件
5.回頭查看引用新增文件的地方,路徑有效,無錯(cuò)誤提示
cocos2dx正式開搞了呵、
編譯過程問題復(fù)現(xiàn):
1.win32可以正常編譯顯示,交叉編譯不行:
提示 error: undefined reference to 'LoadingLayer::scenc e()'
意思就是說交叉編譯的時(shí)候沒有引用到這個(gè)類;
那么我們要進(jìn)入到android工程中的Android.mk文件看下究竟:在LOCAL_SRC_FILES后面添加一行
../../Classes/LoadingLayer.cpp 記得在上一行后面加上反斜杠---->" \"
再次進(jìn)入到cygwin中,找到相應(yīng)Android目錄,賦予權(quán)限,然后再./build_native.sh;
http://stackoverflow.com/questions/12125248/trying-to-switch-scenes-in-cocos2d-x-undefined-reference-to-diffmenuscene
2.當(dāng)一切就緒,.so已經(jīng)生成的前提下,在eclipse控制臺(tái)中編譯會(huì)出現(xiàn)如下錯(cuò)誤提示:
Unable to add 'D:\series_cocos2d-x\cocos2d-x-2.2.1\cocos2d-x-2.2.1\projects\LoveHong\proj.android\assets\CloseNormal.png': Zip add failed
ERROR: unable to process assets while packaging 'D:\series_cocos2d-x\cocos2d-x-2.2.1\cocos2d-x-2.2.1\projects\LoveHong\proj.android\bin\resources.ap_'
[2014-04-23 13:04:12 - LoveHong] ERROR: packaging of 'D:\series_cocos2d-x\cocos2d-x-2.2.1\cocos2d-x-2.2.1\projects\LoveHong\proj.android\bin\resources.ap_' failed
如果出現(xiàn)上述錯(cuò)誤,這樣解決:
在cygwin窗口中,cd assets ; chmod -R 777 * 【備用招數(shù)cd ..; ./build_native.sh】
刷新eclipse中要編譯的工程;【如果出現(xiàn)問題,以上步驟多試幾次】
3.跑在真機(jī)上沒啥問題,在模擬器中會(huì)有如下錯(cuò)誤提示:
.......: No configs match configSpec
...
Emulator without GPU emulation detected.
說明開啟的模擬器沒有開啟GPU支持----打開模擬器管理界面--選中自己要啟動(dòng)的模擬器--edit--choose Use Host GPU
如果你是用genymotion來作為模擬器,需要安裝一個(gè)插件Genymotion-ARM-Translation;(自行檢索)
因?yàn)間eny是x86架構(gòu),非ARM架構(gòu),所以跑起來飛快;那么要安裝一個(gè)能夠轉(zhuǎn)換成ARM架構(gòu)的插件才可以完美運(yùn)行;
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com