如何在自定義文件下創建cocos2d-x項目
DionysosLai 2014-5-4
首先,感謝http://www.cnblogs.com/skynet/p/3428369.html這篇文章的作者,下面的文章是基於他的文章,修改的,爲的是更好的讓別人上手。本來是用在公司內部分享,現在將文章分享出來,希望能對其他人有作用。
再次感謝原作者。
目前使用create_project.py創建Cocos2d-x項目,存在一個問題,就是不能自定義創建項目路徑,項目只能放在cocos2d-x/projects目錄下面。比較合理的解決方案是:比較合理的方案是:
1. cocos2d-x獨立安裝,這樣對cocos2d-x升級也相對簡單。
2. 新建cocos2d-x項目獨立於cocos2d-x安裝路徑。通過設置搜索或引用路徑,讓項目能夠找到cocos2d-x安裝路徑。
解決方案是通過創建環境變量,讓新建cocos2d-x項目獨立於cocos2d-x引擎目錄:
1. 將新建的項目剪切到我們想要放置的目錄下;
2. 創建環境變量COCOS2DX_HOME,指向cocos2d-x安裝目錄(像我的安裝目錄是:E:\EngilshLogicGame\LogicGame\cocos2d-x-2.2.3,注意:不要在後面加上“;” )
3. 將“change.py”文件放在你的項目proj.win32,運行“change.py”,代碼如下:”python change.py”, 會會自動替換查找替換*.sln, *.vcxproj裏面的東西
最後,說個問題,就是雖然這樣做可以,但是,當使用eclipse時,不能直接使用此工程,還是必須cocos2d-x/projects 裏面的工程;
文件下載:
http://download.csdn.net/detail/dionysos_lai/7308875
居然要積分,就將代碼放置如下:
#-*- encoding:utf-8 -*-
import sys, os
def checkOption():
argLen = len(sys.argv)
targetPath = "./"
if argLen == 2:
targetPath = sys.argv[1]
if not targetPath.endswith("/"):
targetPath += "/"
return targetPath
def replaceCocos2dxPath(path):
filelists = os.listdir(path)
for item in filelists:
suffix = (os.path.splitext(item))[1]
print(suffix)
if suffix == ".sln":
print('replace "..\..\..\" with %COCOS2DX_HOME% in *.sln')
#replace "..\..\..\" with %COCOS2DX_HOME% in *.sln
content = open(path + item, 'r').read().replace("..\\..\\..\\", "%COCOS2DX_HOME%\\")
file = open(path + item, 'w')
file.write(content)
file.close()
if suffix == ".vcxproj":
print('replace "$(ProjectDir)..\..\..\" with $(COCOS2DX_HOME)\ in *.vcxproj')
#replace "$(ProjectDir)..\..\..\" with $(COCOS2DX_HOME)\ in *.vcxproj
content = open(path + item, 'r').read().replace("$(ProjectDir)..\\..\\..\\", "$(COCOS2DX_HOME)\\")
file = open(path + item, 'w')
file.write(content)
file.close()
if __name__ == '__main__':
targetPath = checkOption()
replaceCocos2dxPath(targetPath)