cocos2dx是一个基于c++ opengl的二维游戏引擎 开源免费 支持跨平台发布 包括windows linux 安卓 苹果等等 我想用一个二维引擎入门学习游戏应该是个不错的选择 而且这个引擎作品不少 尤其是国内的作品 比如史上最坑爹游戏 捕鱼达人(这个游戏作者还专门用这个游戏为例子写了一本教程)因为个人喜好 一直喜欢在linux(我的ubuntu)上搭建各种平台 这次也不例外 经过各种百度谷歌查找文档 终于搭建好了 从笔记拿出来分享下
一引擎目录分析
首先下载引擎源码 打开查看目录结构
相关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-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(就是谷歌官网下的直接带eclipse的那个)这样专用的东西比较好配置(还有一个原因 eclipse插件多了特别卡 尤其是你的eclipse上还有别的插件)