cocos2dx是一個基於c++ opengl的二維遊戲引擎 開源免費 支援跨平台發布 包括windows linux 安卓 蘋果等等 我想用一個二維引擎入門學習遊戲應該是個不錯的選擇 而且這個引擎作品不少 尤其是國內的作品 比如史上最坑爹遊戲 捕魚達人(這個遊戲作者還專門用這個遊戲為例子寫了一本教程)因為個人喜好 一直喜歡在linux(我的ubuntu)上搭建各種平台 這次也不例外 經過各種百度Google尋找文檔 終於搭建好了 從筆記拿出來分享下
一引擎目錄分析
首先下載引擎源碼 開啟查看目錄結構
相關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表示編譯警告作為錯誤 就是如果有警告的話編譯不會被通過)//這一條找了至少半個小時的Google百度 終於在一個英文文檔裡面找到了一個相同錯誤 又找了了幾個小時 把這個錯誤對應的檔案找到了 辛苦啊
這一步驟非常簡單 最好執行。/make-all-linux-project 這一條可以執行debug和release兩種庫 方便使用(執行make只產生release也不是不可以)
編譯之後的lib目錄下面就有相關的一堆linux庫了
到此 編譯完成
三建立項目
目錄裡面有個tools檔案夾 利用這個檔案夾裡面的project-creater
有一個create_project的python指令碼 直接python create_project.py 發現需要加上參數 然後按照參數
python create_project.py -language cpp -project Mygame -package com.yujiaao.mygame
(其實這也是linux好處 windows下還要在裝python )
這樣在引擎的project目錄下就會產生你的項目了
四編譯項目 ----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(就是Google官網下的直接帶eclipse的那個)這樣專用的東西比較好配置(還有一個原因 eclipse外掛程式多了特別卡 尤其是你的eclipse上還有別的外掛程式)