[IOS篇]Xcode cannot run using the selected device.錯誤

cocos2dx使用版本︰v 2.0.4
cocosBuilder使用版本︰v 2.0 alpha 1

一、問題

今天在運行Xcode時,遇到了一個Xcode cannot run using the selected device.的錯誤。


二、解決辦法

上網爬文,很多人都說是運行版本的設置不一致而產生該問題(見下圖)

但筆者在實際實作時,
發現是因為擅自更改專案相關目錄名稱造成的問題。

如果以上辦法無法改善,
建議直接將整個專案砍掉重新建置了。

[Android篇]編譯(build_native.sh)C++ Library時出現Box2D.h: No such file or directory

一、問題

在編譯C++ Library時,遇到了Box2D.h: No such file or directory的錯誤。


二、解決辦法

此狀況是因為程式在編譯C++ Library時,找不到Box2D.h此檔案造成的錯誤。
請將Box2D目錄複製到該放置的位置︰

然後,原始碼的地方
改變include Box2D.h的目錄路徑


[Android篇]編譯C++Library-->build_native.sh時出現NDK_MODULE_PATH variable is properly defined

cocos2dx使用版本︰v 2.0.4
cocosBuilder使用版本︰v 2.0 alpha 1
文章攢寫時間︰2012/12/29 12:53

一、問題

在android project底下要使用build_native.sh編譯C++ Library時,
遇到了下列錯誤︰

Android NDK:
jni/Android.mk: Cannot find module with tag 'CocosDenshion/android' in import path   
Android NDK:
Are you sure your NDK_MODULE_PATH variable is properly defined ?

二、解決辦法

會出現這個錯誤是因為在編譯C++ Library時,
找不到CocosDenshion/android這個路徑目錄,
將build_native.sh用文字編輯器打開,
並將下列值做更改成相對於你的android專案路徑中,存放CocosDenshion的位置。
如︰
COCOS2DX_ROOT="$DIR/../.."  -->  COCOS2DX_ROOT="$DIR/../../.."

mac設定ndk環境變數

在終端機裡打上
export NDK_ROOT=/Users/你的使用者名稱/Android/adt-bundle-mac/android-ndk-r8c

也可以直接將這行指令放進/Users/你的使用者名稱/.bash_profile裡
請參考在Mac建立Android的環境變數

[cocos2d-x篇]pushScene和replaceScene的差別

cocos2dx使用版本︰v 2.0.4
cocosBuilder使用版本︰v 2.0 alpha 1
pushScene是舊的場景依然保留在內存,不釋放,所以沒問題,而replaceScene是要從內存裡釋放上一個場景里內容的,問題就出在當釋放內存時,場景要先刪除所有的child, 而當其中有一些child任然在運行著動作,導致刪除不成功,切換失敗。像你的labelClick就一直在執行動作。可以嘗試一下在切換場景之前運行[labelClick stopAllActions] 來試一下。

[Android篇]在Android看CCLOG

cocos2dx使用版本︰v 2.0.4
cocosBuilder使用版本︰v 2.0 alpha 1
在proj.android/jni/Android.mk中
LOCAL_MODULE := game_shared之后增加一行
LOCAL_CFLAGS += -DCOCOS2D_DEBUG=1

[Android篇]從IOS移植到Android的兩三事(更新中)

cocos2dx使用版本︰v 2.0.4
cocosBuilder使用版本︰v 2.0 alpha 1
攢寫時間︰2012/12/07 15:30
修改次數︰1
最後修改︰2012/12/07 15:30

當我們將cocos2dx的Code在Android上要做編譯時,
筆者遇到一些無法順利編譯的經驗,
這些經驗都是訣︰

訣1︰
在Android上要編譯c時,遇到下列錯誤︰
a function call cannot appear in a constant-expression

在h標頭檔直接使用API函式,這在xcode裡能編譯,也能順利在IOS上運行,但在Android要build_native.sh時,卻告訴我們它們不接受我們直接在h標頭檔使用API。請在h檔乖乖的宣告,並在cpp檔裡乖乖的實作。