分享好友 最新动态首页 最新动态分类 切换频道
ubuntu 下 cocos2dx游戏引擎搭建 编译和使用(可以在linux桌面 安卓手机运行)安卓手机桌面「ubuntu 下 cocos2dx游戏引擎搭建 编译和使用(可以在linux桌面 安卓手机
2025-02-02 12:45

   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

其实执行https://www.cnblogs.com/yujiaao/p/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**
        * 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做测试也不错 省着发布到手机了)

最新文章
华为手机怎么设置一直震动手机一直震动不停怎么回事「华为手机怎么设置一直震动」
参考内容一:1、在手机主屏幕上点击【设置】。2、点击【声音】。3、打开【静音】和【静音时振动】右侧的开关。参考内容二:1. 点击声音首先打开设置,点击声音进入。2. 关闭静音进入界面,点击关闭静音时振动。3. 关闭振动或者在控制中心界
以旧换新政策下 “退休”的手机该如何处置手机以旧换新有风险吗「以旧换新政策下 “退休”的手机该如何处置」
新重庆-重庆日报消息,在刚刚过去的2024年,受以旧换新政策带动,中国家电消费火热。新年伊始,手机市场也感受到了来自政策的春风——1月16日,在商务部举行的专题新闻发布会上,有关负责人表示,全国各地将从1月20日开始陆续实施手机等数
X浏览器安卓最新版x浏览器手机版「X浏览器安卓最新版」
X浏览器安卓最新版是一个双核的搜索浏览器,可以帮助大家上网冲浪,搜索任何想要的东西,例如、图片、文档、小说、影视等等。支持多个搜索引擎,还有海量的网站和资讯,综合性很高。双核心一键切换打开“X浏览器”后,可以看到它的操作界面
猎豹免费wifi 校园神器 v5.1.17110916 官方安装版猎豹免费wifi手机版「猎豹免费wifi 校园神器 v5.1.17110916 官方安装版」
众所周知校园网的网络是有限制的,基本上都是无法开启wifi共享,不过现在不一样了,猎豹免费wifi校园神器发布了,它在已限制了WiFi共享功能的校园网客户端方面做了进一步的支持,让更多的学子能用上免费WiFi!不仅仅是简单地能用上免费WiFi
小米两款新车细节曝光:价格预计12-15万起、有增程vivo新款手机即将上市「小米两款新车细节曝光:价格预计12-15万起、有增程」
据国内媒体报道,小米计划在2025年上半年推出其第二款新车,这是一款纯电SUV。该车延续了小米首款车的设计水准,并采用溜背式轿跑SUV设计,车顶线条流畅,延伸至车尾,呈现出一种动感十足的姿态。关于小米的新车,有机构的报告显示,小米未
GPS海拔高度测量仪手机版 v2.1.8手机测量仪「GPS海拔高度测量仪手机版 v2.1.8」
GPS海拔高度测量仪手机版是一款免费的手机GPS工具箱,用户可以在这里进行GPS精准定位、海拔的测量、地震预警等功能,是一款简单好用功能强大的GPS测量服务软件,里面的功能都是免费提供给用户的,支持全球旅行记录打卡,感兴趣的用户快来下
生化危机4重置版mod生化危机4手机版「生化危机4重置版mod」
生化危机4重置版mod是一款大型的末日生存类手游,非常的受欢迎有着超多的系列版本,这边小编带来的是生化危机4,重置版mod玩家此次的任务就是拯救总统的女儿,要注意随时出现的危险哦,喜欢的玩家们还等什么,快来点击下载吧!生化危机4重
45岁周杰伦瘦身成功,重回颜值巅峰,昆凌陪婆婆看周董演唱会周杰伦手机「45岁周杰伦瘦身成功,重回颜值巅峰,昆凌陪婆婆看周董演唱会」
更让人羡慕的是,昆凌也陪着婆婆一起来看周董的演唱会了。昆凌啊,那可是模特出身,颜值身材都是一流的,站在那儿就是一道风景线。她看着周杰伦的眼神,那叫一个欣赏,那叫一个甜蜜,简直要溢出屏幕了!而周董的妈妈呢,也是打扮得时尚又得
小辣椒x12pro参数配置-小辣椒x12pro参数详情小辣椒手机参数「小辣椒x12pro参数配置-小辣椒x12pro参数详情」
小辣椒x12pro这款手机可是一款为老年人服务的手机,小伙伴们一定是想要知道这款手机有着什么样子的性能是否适合家中长辈,现在就有小编来为大家介绍一下这款手机吧。手机型号小辣椒x12pro?手机外形手机屏幕6.5英寸TFT+1920X1080像素手
华为X5当主力机使用了一个月,已经开始卡了,前后亏了4000,出了,还是换15PM吧华为手机x5「华为X5当主力机使用了一个月,已经开始卡了,前后亏了4000,出了,还是换15PM吧」
华为X5刚出的时候,我最开始就加价好几千买了一台,后面发现通过升级电信套餐,可以原价买到华为mate X5,于是又这样操作买了两台。买这个手机的主要目的就是送礼,因为送礼的目标用户都是属于中年人。本来以为他们会很喜欢使用X5,结果其
相关文章
推荐文章
发表评论
0评