三、Cocos2dx 3.0遊戲開發找小三之搭建開發環境

尊重開發人員的勞動成果。轉載的時候請務必註明出處http://blog.csdn.net/haomengzhu/article/details/27107295
php


搭建開發環境html

使用 Cocos2d-x 的一個很是大便利之處在於,咱們可以在 PC 或 Mac 環境下完畢編碼和大部分的調試,而後再遷移到其它設備
上作實際環境測試。

這意味着咱們可以在 PC 上開發遊戲。而後以極其低廉的成本把遊戲遷移到 iOS 或其它平臺上,從而節
java

省了開發階段支付在設備方面的不少費用。python


前面提到。Cocos2d-x 可以部署在多種平臺上,詳細的運行步驟並不複雜


現在。咱們遵循如下的步驟在 PC 上搭建開發環境。android

一、正確安裝 Visual Studio 2010(後簡稱 VS)。


二、從官方站點的下載頁面下載最新的 Cocos2d-x 源代碼並解壓。這裏咱們使用的是 cocos2d-x 3.0版本號。git

下載cocos2d-x 3.0正式版
      http://www.cocos2d-x.org/download
apache

三、下載android的sdk以及ndk

     http://developer.android.com/sdk/index.htmlapp

四、下載ant
     http://ant.apache.org
eclipse

(注:cocos2d-x的環境變量配置需要用到ant。主要是android需要使用到它)
工具

五、下載python 2.7.6(不要下載python3.0以上的版本號)
https://www.python.org/download/releases/2.7.6/
必備工具都下載好了,現在開始搭建好開發環境了。

六、現在開始配置3.0的環境變量。這個方便了很是多
僅僅需要執行3.0的文件夾下setup.py就行了



依據提示運行,輸入相關路徑;


七、建立項目。相信使用過3.0的大俠們都知道有個cocos的命令。
這裏運行下   cocos -h 看下幫助





完畢開發環境的搭建後,如下咱們就來建立第一個 Cocos2d-x 項目,取名爲「findmistress」即找小三:




八、找到建立的文件夾:

建立project後,使用VS2012打開win32項目,而後執行編譯就能夠。

在 VS 的"解決方式資源管理器"中能夠看到一個典型的 Cocos2d-x project的文件目錄結構,當中"Classes"目錄中存放遊戲代碼,"resource"目錄中存放遊戲資源, 其它project是存放 Cocos2d-x引擎與其它依賴項目的源代碼。

一般狀況下,Cocos2d-x 的project已經包括了必要的外部依賴庫,所以咱們僅僅需要改動遊戲代碼與資源。


不作其它不論什麼改動,直接執行項目。第一次編譯可能會需要較長時間,等待編譯完畢後。啓動調試。

假設下圖所看到的的Cocos2d-x 標誌,那麼恭喜你,你的環境搭建成功,你的第一個 Cocos2d-x 遊戲執行成功了:



就這樣整個環境就這樣搭建完畢了。


九、接下來要說的仍是android的相關部分了。

首先。進入到proj.android文件夾下經過命令運行



編譯完畢後打開,使用eclipse打開,並導入可以看到有紅色的「*」.




這裏是因爲少了包。右擊屬性可以看到



到E:\cocos2d-x-3.0\projects\findmistress\cocos2d\cocos\2d\platform\android\java\src下把類包拷到當前項目的src下就能夠,或者經過類庫項目的方式進行引用。

刷新以後就沒有問題了:



只是問題來了,每次這麼建立都要去copy實在是太麻煩了。
改動模板類中的build_native.py
  你可以在「cocos2d-x-3.0/templates/cpp-template-default/proj.android」下找到build_native.py進行改動。


接下來改動一下模板中的build_native.py文件,之後就讓命令來幫咱們一塊兒將類包考進去。

<span style="font-family:KaiTi_GB2312;">def copy_resources(app_android_root):

    # remove app_android_root/assets if it exists
    assets_dir = os.path.join(app_android_root, "assets")
    if os.path.isdir(assets_dir):
        shutil.rmtree(assets_dir)

    # copy resources
    os.mkdir(assets_dir)
    resources_dir = os.path.join(app_android_root, "../Resources")
    if os.path.isdir(resources_dir):
        copy_files(resources_dir, assets_dir)

#--------copy cocos_lib_path start------------
def copy_src_files(src, dst):
    
    for item in os.listdir(src):
        path = os.path.join(src, item)
        
        if not item.startswith('.') and os.path.isfile(path):
            shutil.copy(path, dst)
        if os.path.isdir(path):
            new_dst = os.path.join(dst, item)
            if not os.path.exists(new_dst):
                os.mkdir(new_dst)
            copy_src_files(path, new_dst)
def copy_src(app_android_root,cocos_root):
  
    android_src_dir = os.path.join(app_android_root,"src")
    
    cocos_src_path = os.path.join(cocos_root, "cocos/2d/platform/android/java/src")
    
    if not os.path.exists(android_src_dir) :
        os.mkdir(android_src_dir)
    
    if os.path.isdir(cocos_src_path):
        copy_src_files(cocos_src_path,android_src_dir)
#--------copy cocos_lib_path end------------

def build(ndk_build_param,android_platform,build_mode):

    ndk_root = check_environment_variables()
    sdk_root = None
    select_toolchain_version()

    current_dir = os.path.dirname(os.path.realpath(__file__))
    cocos_root = os.path.join(current_dir, "../cocos2d")

    app_android_root = current_dir
    copy_resources(app_android_root)
    
    #-----------------add copy src ------------
    copy_src(app_android_root,cocos_root)
    
    if android_platform is not None:
				sdk_root = check_environment_variables_sdk()
				if android_platform.isdigit():
						android_platform = 'android-'+android_platform
				else:
						print 'please use vaild android platform'
						exit(1)
		
    if build_mode is None:
    	  build_mode = 'debug'
    elif build_mode != 'release':
        build_mode = 'debug'
    
    do_build(cocos_root, ndk_root, app_android_root,ndk_build_param,sdk_root,android_platform,build_mode)</span>


好了,改動模板的優勢就是一次改動,屢次使用哈。
如下你可以在建立一個項目,而後運行   python build_native.py  看看是否是把類包一塊兒打包進項目了哈。

以上就是整個的環境搭建過程,看起來有點兒多。只是最好另外一個東西也是要放到模板下的。

那就是爲了方便之後copy 建立的cpp文件到android.mk下,往模板的proj.android下的JNI下加入list.sh文件。
下載包:  list.sh.zip 
用法很是easy:
<span style="font-family:KaiTi_GB2312;">./list.sh ../../Classes</span>

這樣就可以列出Classes下的cpp了,這樣就可以直接copy到android.mk文件夾下了。

哈,好了,完畢了整個的建立過程了。是否是感受很是爽、、、

相關文章
相關標籤/搜索