• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            colorful

            zc qq:1337220912

             

            自定義路徑創建Cocos2d-x項目

            http://www.cnblogs.com/skynet/archive/2013/11/17/3428369.html


            --------------------------------------------------

            自定義路徑創建Cocos2d-x項目

            本文介紹windows下面如何優雅的創建Cocos2d-x項目。為何稱之為優雅,是因為現在網上流傳的一些創建方法有一些問題。大致內容如下:

            使用VS向導創建Cocos2d-x項目(廢棄,不建議使用)

            使用create_project.py

            問題1:工程名等替換不完全

            問題2:創建項目不能指定路徑

            使用VS向導創建Cocos2d-x項目(廢棄,不建議使用)

            Cocos2d-x 2.1.3及之前官方使用“install-template-msvc.bat”文件,安裝VS創建Cocos2d-x項目向導,然后可以按照向導創建Cocos2d-x項目。注意默認情況下,新建項目的存放的位置應該設置在Cocos2d-x引擎的安裝目錄下面,否則可能因為找不到庫文件而不能通過編譯。不過可以在設置項目屬性,頭文件和庫文件的搜索路徑來解決。可以參考我之前的一篇博文《C++靜態庫與動態庫》,里面介紹如何設置vs項目屬性使用靜態庫和動態庫。

            Cocos2d-x 2.1.4,官方建議使用“create_project.py”來創建Cocos2d-x項目,并將在版本廢棄了“install-template-msvc.bat”

            We recommend you use multi-platform creating tools named create_project.py, which lies in tools/project-creator, to create a new project. This tool can create a project has the same folder structure as HelloCpp. Other tools such as create-android-project.sh will be removed in future.

            Note: VS template was deprecated in this release, please use 'tools/project-creator' instead.

            ——來自官網:http://goo.gl/yVAjMr

            我入手Cocos2d-x的時候,剛發布Cocos2d-x 2.1.4,就被這個坑了。Cocos2d-x 2.1.4廢棄了“install-template-msvc.bat”,但是下載壓縮包里面又有,可惡的是不能用的,各種報錯。同時網上流傳的就是使用這種方法,讓我繞了不少路。

            使用create_project.py

            create_project.pycocos2d-x/tools/project-creator/目錄下)使用方法比較簡單:

            Usage: create_project.py -project PROJECT_NAME -package PACKAGE_NAME -language PROGRAMING_LANGUAGE

            Options:

             -project   PROJECT_NAMEProject name, for example: MyGame

             -package   PACKAGE_NAMEPackage name, for example: com.MyCompany.MyAwesomeGame

             -language PROGRAMING_LANGUAGEMajor programing lanauge you want to used, should be [cpp | lua | javascript]

            Sample 1: ./create_project.py -project MyGame -package com.MyCompany.AwesomeGame

            Sample 2: ./create_project.py -project MyGame -package com.MyCompany.AwesomeGame –language javascript

            注意:

            官方建議python使用2.7.3

            安裝python之后需要設置環境變量,或者使用該腳本時指定python路徑,如C:\python27\python.exe create_project.py …

            使用該方法創建項目之后,項目位于cocos2d-x/projects目錄下面。windows平臺進入proj.win32,打開工程文件即可。

            使用create_project.py創建項目的原理,即簡單地將cocos2d-x\template目錄下的三種語言模板multi-platform-cppmulti-platform-luamulti-platform-js復制到對應的新建工程目錄下,然后用PROJECT_NAMEPACKAGE_NAME替換模板中的HelloCpp/ HelloLua/ HelloJavascript

            問題1:工程名等替換不完全

            下面是我用towergame做為工程名創建的lua項目,目錄如下:

            clip_image001[4]

            雖然可以正常編譯,但發現工程名未替換為towergame,這比較坑爹。一位日本開發者lettas已經有人提交了修復請求https://github.com/cocos2d/cocos2d-x/pull/3943,不過正式發布的版本中還沒有修改。急著用可以去github checkout下來用。

            問題2:創建項目不能指定路徑

            使用create_project.py不能自定義路徑,必須放在cocos2d-x/projects目錄下面,這個設定我認為非常不合理!這樣將自己的項目放到cocos2d-x引擎目錄中,不方便管理,即庫與項目耦合到一起了,如果cocos2d-x升級也不方便。

            比較合理的方案是:

            cocos2d-x獨立安裝,這樣對cocos2d-x升級也相對簡單。

            新建cocos2d-x項目獨立于cocos2d-x安裝路徑。通過設置搜索或引用路徑,讓項目能夠找到cocos2d-x安裝路徑。

            幸運的是,完全可以做到這樣。熟悉VS的同學應該知道,VS工程設置是支持環境變量的。通過下面的一些改造,可以讓新建的cocos2d-x項目獨立于cocos2d-x引擎目錄:

            1)     將通過create_project.py創建的項目剪切到你希望放置的目錄;

            2)     創建環境變量COCOS2DX_HOME,指向cocos2d-x安裝目錄;

            3)     *.sln文件使用文本方式打開,將里面的所有相對路徑“..\..\..”都替換為環境變量%COCOS2DX_HOME%,如“..\..\..\cocos2dx\proj.win32\cocos2d.vcxproj”替換為“%COCOS2DX_HOME%\cocos2dx\proj.win32\cocos2d.vcxproj”

            4)     *.vcxproj文件使用文本方式打開,將里面debugrelease 2種模式下<AdditionalIncludeDirectories>節點定義的引用路徑中包含”$(ProjectDir)..\..\..\”都替換為環境變量“$(COCOS2DX_HOME)\”;注意這里使用環境變量的方式與*.sln中不一樣,是$(COCOS2DX_HOME)而非%COCOS2DX_HOME%

            至此,大工告成!看下面的運行起來的vs工程:

            clip_image003[4]

            圖中依賴的工程跟將新建的項目放在cocos2d-x/projects目錄下面一樣可以鏈接到。

            上面的替換工作可以用文本的查找替換功能,可以輕松搞定。但是為了能夠與create_project.py集成,我提供下面一段代碼能夠自動替換.sln.vcxproj文件中對于內容:

             #!/usr/bin/python   

            復制代碼
            #-*- 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)
            復制代碼

            posted on 2014-06-04 16:09 多彩人生 閱讀(697) 評論(0)  編輯 收藏 引用 所屬分類: android cocos2dx

            導航

            統計

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久亚洲国产精品五月天婷| 72种姿势欧美久久久久大黄蕉| 91久久精品国产免费直播| segui久久国产精品| 亚洲国产精品无码久久青草| 少妇精品久久久一区二区三区| 精品国产福利久久久| 国产香蕉久久精品综合网| 久久久免费精品re6| 久久夜色精品国产亚洲av| 久久人人妻人人爽人人爽| 欧美激情精品久久久久| 亚洲中文精品久久久久久不卡| 国产精品美女久久久久AV福利| 亚洲成色www久久网站夜月| 91精品国产91久久久久久青草| 久久频这里精品99香蕉久| 久久成人影院精品777| 久久久午夜精品| 久久精品国产99久久香蕉| 国产精品18久久久久久vr| 久久人人添人人爽添人人片牛牛| 91精品国产91久久久久久| 91精品国产91久久久久福利| 久久婷婷是五月综合色狠狠| 久久e热在这里只有国产中文精品99| 亚洲国产精品无码久久久不卡| 三级片免费观看久久| 国产99久久九九精品无码| 1000部精品久久久久久久久| 亚洲成色WWW久久网站| 久久99国产精品久久99小说| 久久久久亚洲精品无码网址 | 久久99精品久久久久久久不卡 | 色播久久人人爽人人爽人人片AV| 91久久精品无码一区二区毛片| AAA级久久久精品无码片| 久久精品麻豆日日躁夜夜躁| 乱亲女H秽乱长久久久| 久久棈精品久久久久久噜噜| 综合久久国产九一剧情麻豆|