天天看點

在Mac上配置cocos2d-x 3.0,xcode5資源無法重新整理的問題

首先下載下傳cocos2d-x略過,

然後解壓自己選好路徑略過,

然後下載下傳python,通過終端(ctrl+space,輸入terminal就搜到終端了)進入cocos2d-x的路徑,進入tools/project-creator/目錄,(有個README文檔的,可以看一下),在mac下直接打./create_project.py就出現圖形界面,幫你建立工程了

然後找到剛才建立的工程目錄,進入proj.ios_mac,裡面有工程檔案,直接打開可運作,很友善。

關于檔案引用不重新整理的問題

在工程目錄下,有個Resources檔案夾,這裡面有所有資源。在xcode5裡面,能看到Resources檔案夾是黃色的,但檔案夾裡的fonts檔案夾是藍色的。藍色表示引用(Folder reference),如果你想在Build的app内部仍然保持Resources目錄下的組織結構,就請把Resources下的檔案夾都用引用方式添加進工程的Resources項。即把檔案夾拖到工程裡面時選擇“Create folder reference ...",否則xcode會在Build時把所有檔案夾裡的檔案全部拷貝到根目錄下(給人感覺好二……)

但是引用檔案夾有個問題,如果你在外部修改了檔案夾裡面的檔案,比如我建立了一個scripts目錄,又在scripts目錄下修改了某個腳本,xcode在編譯時可能并不會把這個修改展現到生成的app裡面去(又是個好二的感覺)。總之這個問題很嚴重,而且似乎存在很久了,google搜了很久,終于找到的解決方案還是2011年的,現在都2014了居然還有這問題。連結:http://phasiclabs.com/blog/  ,文章裡提到的另一個解決方案我也試過,但果然對我無效 http://majicjungle.com/blog/123/

解決方案是在BuildPhase添加一條RunScript,這條腳本能在Xcode拷貝Bundle Resources後,手動把Bundle裡面的scripts目錄清空,再把新檔案手動拷過去(關于Bundle,放到下面一段)。

如何添加RunScript:在xcode5頂欄菜單上 Editor-->Add Build Phase-->Add Run Script Build Phase,Xcode就切換到了你的項目屬性頁--BuildPhase标簽上,并增加了一條空的RunScript。

RunScript内容:首先把Shell設定成bin/bash,然後在下面輸入腳本内容:

#!/bin/bash

echo "forcing refresh of scripts...";

echo ${CURRENT_ARCH}

echo ${CONFIGURATION}

echo ${BUILT_PRODUCTS_DIR}

echo ${EXECUTABLE_NAME}

if [ -d "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_NAME}.app/scripts" ]; then

rm -r ${BUILT_PRODUCTS_DIR}/${EXECUTABLE_NAME}.app/scripts;

fi

cp -R -p ${SRCROOT}/../Resources/scripts ${BUILT_PRODUCTS_DIR}/${EXECUTABLE_NAME}.app/scripts;

這時候開始編譯,可能會報一個腳本運作錯誤,因為cocos2d-x自動生成的BUILT_PRODUCTS_DIR會帶有一個空格,而上述腳本運作時不能識别空格路徑。修改方法是,在項目屬性頁左上角有個小三角,點開後會顯示編譯目标,預設的編譯目标可能有兩個mygame IOS和mygame MAC,輕按兩下mygame IOS即可改名,去掉空格就行了。

關于編譯路徑和生成的App在虛拟機上的路徑

首先可以在終端上輸入defaults write com.apple.finder AppShowAllFiles TRUE,回車,然後輸入killall Finder,回車,再打開Finder就能看到所有隐藏檔案夾

上面那段腳本也是輸出了編譯路徑,類似于:

/Users/xxxx/Library/Developer/Xcode/DerivedData/mygame-cmjsadueokznwkbcqfbhwktehzif/Build/Products/Debug-iphonesimulator

這裡的Library也就是中文的"資源庫"目錄,可以自己去看看裡面生成的檔案夾,就是剛才修改過的編譯目标的名字

然後app在虛拟機上的路徑在/Users/xxxx/Library/Application Support/iPhone Simulator/7.0.3/Applications/xxxxxxxx

找到app後可以右鍵-->顯示包内容,就能檢視所有資源,就是說mac和iphone上的app其實都隻是打了個包而已,是以才能輕易的把裡面的scripts目錄清空再拷東西進去。

終了。等到在mac上配置好android環境再記錄一下。