歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> ubuntu 下 cocos2dx游戲引擎的搭建、編譯和使用

ubuntu 下 cocos2dx游戲引擎的搭建、編譯和使用

日期:2017/3/3 15:47:27   编辑:關於Linux

cocos2dx是一個基於c++ opengl的二維游戲引擎 開源免費 支持跨平台發布 包括windows linux 安卓 蘋果等等 我想用一個二維引擎入門學習游戲應該是個不錯的選擇 而且這個引擎作品不少 尤其是國內的作品 比如史上最坑爹游戲 捕魚達人(這個游戲作者還專門用這個游戲為例子寫了一本教程)因為個人喜好 一直喜歡在linux(我的ubuntu)上搭建各種平台 這次也不例外 經過各種百度谷歌查找文檔 終於搭建好了 從筆記拿出來分享下

一引擎目錄分析

首先下載引擎源碼 打開查看目錄結構ubuntu 下 cocos2dx游戲引擎的搭建、編譯和使用

相關sln的文件不用搭理他們 顯然是vs的模版文件

build-nacl.sh文件我一直沒看懂是干什麼的 求好心人或者相關人士幫忙翻譯下這個文件注釋的英文 (我是沒用到這個文件)

#!/bin/bash

2 # Build script to build all components for Native Client.

3 #

4 # By default this script will only build debug versions.

5 # Pass "all" as an argument to build clean and also build

6 # release config.

7 #

8 # Before running this script you need to set NACL_SDK_ROOT

9 # and add the NaCl compiler bin folder to your path.

10 #

11 # There are several libraries from naclports that are

12 # prerequisite for building cocos2dx on NaCl. The simplest

13 # way to build them is to checkout naclports and run:

14 # $ make png tiff freetype xml2 freealut jpeg vorbis ogg

install-deps-linux.sh 如果你的電腦使用的是deb(ubuntu debain deepin ubuntu火麒麟等等)這個程序可以自動幫你下載編譯這個源碼所需要的庫

Makefile makefile文件 編譯源碼用 不過這個makefile默認只是編譯release版本 不產生debug版本

make-all-linux-project 編譯源碼 這個文件的描述裡面說是比make 快 而且經過測試可以生成debug和release兩種版本的庫

二 編譯引擎:

注意:游戲引擎的源碼有幾行不規范(什麼變量定義沒初始化之類的東西) 但是還用的-Werror選項因此在編譯之前需要修改游戲編譯的原始makefile 將cocos2d/cocos2d-x-2.2.2/cocos2dx/proj.linux/cocos2d.mk 裡面的-Werror去掉 否則編譯不會通過(-Werror表示編譯警告作為錯誤 就是如果有警告的話編譯不會被通過)//這一條找了至少半個小時的谷歌百度 終於在一個英文文檔裡面找到了一個相同錯誤 又找了了幾個小時 把這個錯誤對應的文件找到了 辛苦啊

這一步驟非常簡單 最好執行。/make-all-linux-project 這一條可以執行debug和release兩種庫 方便使用(執行make只產生release也不是不可以)

編譯之後的lib目錄下面就有相關的一堆linux庫了

到此 編譯完成

三創建項目

目錄裡面有個tools文件夾 利用這個文件夾裡面的project-createrubuntu 下 cocos2dx游戲引擎的搭建、編譯和使用ubuntu 下 cocos2dx游戲引擎的搭建、編譯和使用

有一個create_project的python腳本 直接python create_project.py 發現需要加上參數 然後按照參數

python create_project.py -language cpp -project Mygame -package com.yujiaao.mygame

(其實這也是linux好處 windows下還要在裝python )

這樣在引擎的project目錄下就會產生你的項目了

ubuntu 下 cocos2dx游戲引擎的搭建、編譯和使用

四編譯項目 ----linux原生發布(這一部分國內幾乎沒人寫過 完全自己試出來的)

因為是跨平台項目 因此項目的目錄都顯得有些奇葩(至少我是覺得這種目錄很難有一個ide去去識別)classes 存放的是項目源碼(項目核心源碼 平台無關) Resources存放的是項目的資源 剩下幾個proj相關文件就是平台發布相關代碼了

linux下面編譯比較簡單 進入proj.linux 會發現裡面有一個 build.sh 和一個makefile

其實執行./build.sh和make作用幾乎一樣 只不過一個會產生debug版本 一個會產生release版本 還有build.sh 貌似可以在不編譯引擎的情況下直接使用(首先會編譯引擎 然後編譯你寫的源碼)

編譯完成後 你就會發現proj.linux裡面多了個bin目錄 然後裡面會有debug(release)裡面就有程序了 這個程序可以執行

五編譯項目----安卓編譯(這一部分主要是看proj.android裡面的readme 只要readme 看懂了 這部分就ok了 還有紅線部分注意下 不要copy到自己的workspace 不要變動目錄結構)

首先 建議使用adt(就是谷歌官網下的直接帶eclipse的那個)這樣專用的東西比較好配置(還有一個原因 eclipse插件多了特別卡 尤其是你的eclipse上還有別的插件)

給出一個最簡單的配置方法(偷懶不配環境變量)沒有java環境下這麼用最簡單

1下載adt 解壓(帶有eclipse)

2下載ndk 解壓

3下載jdk 解壓(jre更好 直接copy)

4將jdk目錄下的jre整個copy到adt的eclipse 目錄中(eclipse會先自動識別目錄下的jre然後在去找環境變量)

5在eclipse裡面設置ndk的路徑

完成

然後開始工作 進入project.android 可以獲得安卓的導出辦法:

裡面有一個read個me.md 只要照著這個readme做就好了(英語是很重要滴)

主要是設置環境變量

Eclipse->Preferences->General->Workspace->**Linked Resources

裡面添加一個COCOS2DX 值是cocos2dx的根目錄(沒有__max 裡面的那個才是根目錄)

Eclipse->Preferences->C/C++->Build->**Environment**

裡面添加c++的環境變量 NDK_ROOT 指向你的ndk的根目錄

然後File->New->Project->Android Project From Existing Code 導入proj.android 項目

注意:copy project to workspace 這一個選項千萬不要選上 就讓他在默認路徑 這樣才能夠識別Classes文件(不要吧安卓項目copy到你自己的workspace 因為eclipse不會導入Classes 你的源碼)

然後按照方法將cocos2d-x/cocos2dx/platform/android/java 平台下的包拷貝到src目錄下(手動復制粘貼或者用elipse的導入都行 這個是一個java平台的lib代碼)

然後運行發布就行了(這個是安卓平台需要的java源碼 可能是為了節省新建的項目空間 就沒有默認導入而選擇需要手動復制粘貼的方式)

下面是readme英文原文 可以參考:

3. Set up Variables:

1. Path Variable `COCOS2DX`:

* Eclipse->Preferences->General->Workspace->**Linked Resources**

本欄目更多精彩內容:http://www.bianceng.cn/OS/Linux/

* Click **New** button to add a Path Variable `COCOS2DX` pointing to the root cocos2d-x directory.

![Example](https://lh5.googleusercontent.com/-oPpk9kg3e5w/UUOYlq8n7aI/AAAAAAAAsdQ/zLA4eghBH9U/s400/cocos2d-x-eclipse-vars.png)

2. C/C++ Environment Variable `NDK_ROOT`:

* Eclipse->Preferences->C/C++->Build->**Environment**.

* Click **Add** button and add a new variable `NDK_ROOT` pointing to the root NDK directory.

![Example](https://lh3.googleusercontent.com/-AVcY8IAT0_g/UUOYltoRobI/AAAAAAAAsdM/22D2J9u3sig/s400/cocos2d-x-eclipse-ndk.png)

* Only for Windows: Add new variables **CYGWIN** with value `nodosfilewarning` and **SHELLOPTS** with value `igncr`

4. Import libcocos2dx library project:

1. File->New->Project->Android Project From Existing Code.

2. Click **Browse** button and open `cocos2d-x/cocos2dx/platform/android/java` directory.

3. Click **Finish** to add project.

六總結

網上的好多教程極為不清楚 尤其是關於eclipse和安卓的部分 使我誤以為可以直接用eclipse安卓來進行cocos的開發 後來發現不是這樣的 adt只能作為安卓的最後發布方式進行發布 需要寫的代碼還是用c++寫的Classes目錄下的文件 然後用adt編譯即可(當然如果eclipse cpp配置的好用eclipse寫這部分內容最好 但網上的教程一般都只給了安卓的發布方法 而沒有告訴你具體怎麼去開發如果使用linux開發cocos 大概的過程是這樣的:

環境搭建--->新建項目----->使用任意工具(eclipse+cdt(這個得需要一定配置)+或者其他任意ide+或者vim )編寫Classes目錄下的核心文件------->進入porj.android 發布(中間測試可以考慮使用proj.linux做測試也不錯 省著發布到手機了)

其實有點折騰 使用vs的話直接用模版可以用(有個導入模版之類的東西 vs直接新建模版裡面就會有cocos2dx的模版) windows下和蘋果下面還有相關專用ide(不過我的所有開發大都在linux下 習慣了)

Copyright © Linux教程網 All Rights Reserved