闲话:9月没写博客,唉~ 假期归来,快快更新一篇。

吐槽:在QQ群里经常看见有人问 Cocos2d-x的开发环境如何搭建,此时我就在想怎么不去官网找呢,引擎从哪下的,文档就在哪。后来我去官网看了看,发现Cocos2d-x的官网组织好混乱,想找到官方写到教程,要费一番功夫。而且官网经常抽风,不是打开的慢就是无法打开,至今用百度搜索Cocos2d,找到官网地址也是不易,就有一个英文版的还是比较稳定。先前在官网发现一个官方写到新手教程,我就添加到书签了,后来不知为何,这个书签存的网址也不在了~


开篇:本篇依据官网上的两篇教程,加上我的亲自试验作为补充说明,组成一篇基础的开发环境搭建。

开发环境及需要的软件

  1. win10 64位
  2. Android
  3. Ndkandroid-ndk-r9d
  4. Visual Studio 2013
  5. Cocos2d-x 3.8.1
  6. JDK jdk1.8.0_31
  7. Python 2.7.6
  8. Antapache-ant-1.8.2
请事先下载需要的软件并安装,比如 Python,JDK等,像 NDK,Ant 都不需安装,解压即可。

官网教程地址一:

如何在Windows 7平台搭建Android Cocos2d-x3.2alpha0开发环境

官网的这篇教程用的是 win7 系统,引擎版本是 3.2alpha0,目前来说还是可以参考使用的,里面写的需要下载的软件以及运行的命令基本一样。在win10系统,引擎版本3.8.1下还基本可以使用,不同的地方在博客下面会有指出。 可以根据官网这篇教程来下载需要的软件以及配置环境变量

一:Win32

配置环境最简单一个就是 Win32,下载引擎后,解压后直接用 Visual Studio 2012/2013 打开编译即可。3.8.1版本的引擎基本和3.2的一样。下面简单介绍一下。
1.下载引擎
3.8.1引擎下载地址http://www.cocos.com/download/# 选择 Cocos2d-x 下载。下载完后,解压引擎。我一般都是直接解压到一个盘的根目录。
2.使用 Visual Studio 打开引擎工程
解压后的引擎目录如下

然后打开 build 文件夹,运行 cocos2d-win32.sln。

解决方案在VS中打开后目录如下

想简单点完成的就鼠标右键选中 cpp-empty-test,将其设置为启动工程,然后直接 F5 开始编译,编译成功后就会运行那个 HelloWorld,此时你的 win32 环境就搞定了,so easy!其实也没有配置什么,此时如果想写 C++ 代码了,就可以开动了。如果此阶段想了解更多就可以运行那个 cpp-tests 工程,里面全是引擎写好的的例子,引擎里有什么不会用的就可以来这个 tests 里找找,看看就知道是如何使用的了。

二:Android

此段会使用python脚本创建一个新的Cocos2d-x工程,其中不仅包括Android还有win32,IOS等。
根据上面的官网教程一,此时应该已经创建了几个环境变量,包括 ANDROID_SDK,NDK_ROOT,但是我们还差几个环境变量。
1.配置环境变量
新建几个环境变量。下面贴出的环境变量地址是我本机的目录地址,我基本上都是放在E盘根目录的,请根据自己软件的目录地址做相应修改!!!
  1. ANDROID_SDK_ROOT =e:\android-develop-sdk2.0\android-sdk-windows 注意:把上面创建的 ANDROID_SDK名修改为 ANDROID_SDK_ROOT
  2. ANT_ROOT =e:\apache-ant-1.8.2\bin
  3. COCOS_CONSOLE_ROOT =E:\cocos2d-x-3.2\tools\cocos2d-console\bin
  4. NDK_ROOT =e:\android-ndk-r9d
附加 JDK,Android 和 Python 的环境配置
JDK:
  1. JAVA_HOME =C:\Java\jdk1.8.0_31
  2. CLASS_PATH =.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
  3. Path = ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 注意:Path 这段环境变量是把后面的地址添加到 Path 变量中,系统一般都会存在 Path环境变量。在Path中添加变量地址时记得用分号隔开,我这里已写了分号。
Android:
在 Path 中添加一段即可 Path =E:\android-develop-sdk2.0\android-sdk-windows\platform-tools;E:\android-develop-sdk2.0\android-sdk-windows\platforms;

Python:

在 Path 中添加一段即可 Path =d:\Python27;

再次说明,请根据自己的目录地址做修改,不要直接粘贴使用。

2.创建新工程

根据官网教程

创建Cocos2d-x项目

可以创建一个新的 Cocos2d-x 项目。以我的命令举例:


创建成功后,新工程目录如下。proj.xx 下就是对应平台的的工程。我们目前只关注 proj.android。P.S.那个bin文件夹是后来生成的,下面会讲到,不要在意~


按照官网的教程步骤

生成Android项目文件

运行 proj.android 下的 build_native.py,来编译 C++ ,生成 so 文件。 如果双击运行build_native.py有问题的话请和运行 coco.py 一样,要在命令行下运行,也可以直接命令行下运行 build_native.py,不必写 python。
不同之处一
3.8.1版的引擎运行 build_native.py 后有一个地方和 3.2的不同,就是3.8.1下这个命令可以直接生成apk。运行命令结果界面如下。P.S.我把工程转移到 Cocos2dProject目录下了

看输出,会发现在新建工程的根目录下出现一个 bin 文件夹,生成的 apk 文件就会放到它的子目录中。如果把此 apk 安装到手机上,运行的就是一个 Cocos2d-x 的 HelloWorld 界面。
不同之处二
按教程的最后一步,将 proj.android 直接导入 eclipse 后就可以直接运行了,但是我试过 3.1, 3.2, 3.8.1的,走到此步骤后总是会出错。出错如下
错误信息为 Cocos2dxActivity cannot be resolved to a type



如果你进工程属性 Android 选项下会发现有个静态库没有引入。


(⊙o⊙)… 这里就很无语了,我已不明白当初写这个教程的人他是如何完成这个高难度动作的。而且教程还有个小错误(再次吐槽),截图如下


文字写的是选 “Existing Projects into Workspace”,截图却显示的是"Existing Android Code Into Workspace",当然,目前针对这个工程来说,选这两个都一样。不过官网的文档都这样,实在让人汗颜。

好了,废话说话,开始说解决方案
错误解决方案:
我还是推崇用 3.1 时代的导入静态库,网上有说复制源码的也可以的。这个错误就是因为当前的工程找不到引擎端的java代码了,我们把他引进来吧。
去你新建工程的此目录下,把 java 工程也导入到 eclipse 中。



这个工程是个静态库,引入此静态库即可。



然后工程无错误鸟,把手机插上电脑,跑起来,和先前装的apk一样。P.S.在3.2导入此静态库后,静态库因为缺少 res 文件夹也会报错,摔街啊,遇见此情况时,去你下载的引擎目录那把 res 拷过来即可。

到此,你已有了VS上的win32工程和eclipse上的Android工程。其实在2.X时代时,一直是在VS上写C++代码,eclipse上写Java代码,现在Cocos2d出了新的IDE了,就可以在一个IDE上写代码了。

官网上还有个教程是写如何运行引擎里的测试工程,但似啊,win32没有问题,Android却是问题多多,改天再瞅瞅~ 先把教程地址贴出来,有兴趣的可以看看~
P.S.感觉越来越坑了呢~

HOW TO RUN CPP-TESTS ON ANDROID


最后祝各位国庆玩的Happy! P.S.堵的也Happy

Cocos2d-x 开发环境搭建的更多相关文章

  1. HTML5 播放 RTSP 视频的实例代码

    目前大多数网络摄像头都是通过 RTSP 协议传输视频流的,但是 HTML 并不标准支持 RTSP 流。本文重点给大家介绍HTML5 播放 RTSP 视频的实例代码,需要的朋友参考下吧

  2. 利用Node实现HTML5离线存储的方法

    这篇文章主要介绍了利用Node实现HTML5离线存储的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. 详解如何通过H5(浏览器/WebView/其他)唤起本地app

    这篇文章主要介绍了详解如何通过H5(浏览器/WebView/其他)唤起本地app的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  4. H5混合开发app如何升级的方法

    本篇文章主要介绍了H5混合开发app如何升级的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  5. AmazeUI 折叠面板的实现代码

    这篇文章主要介绍了AmazeUI 折叠面板的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码

    这篇文章主要介绍了HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

  7. html5 移动端视频video的android兼容(去除播放控件、全屏)

    这篇文章主要介绍了html5 移动端视频video的android兼容,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  8. Html5 video标签视频的最佳实践

    这篇文章主要介绍了Html5 video标签视频的最佳实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  9. html5唤起app的方法

    这篇文章主要介绍了html5唤起app的方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. HTML5拍照和摄像机功能实战详解

    这篇文章主要介绍了HTML5拍照和摄像机功能实战详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

随机推荐

  1. 【cocos2d-x 3.x 学习笔记】对象内存管理

    Cocos2d-x的内存管理cocos2d-x中使用的是上面的引用计数来管理内存,但是又增加了一些自己的特色。cocos2d-x中通过Ref类来实现引用计数,所有需要实现内存自动回收的类都应该继承自Ref类。下面是Ref类的定义:在cocos2d-x中创建对象通常有两种方式:这两中方式的差异可以参见我另一篇博文“对象创建方式讨论”。在cocos2d-x中提倡使用第二种方式,为了避免误用第一种方式,一般将构造函数设为protected或private。参考资料:[1]cocos2d-x高级开发教程2.3节[

  2. 利用cocos2dx 3.2开发消灭星星六如何在cocos2dx中显示中文

    由于编码的不同,在cocos2dx中的Label控件中如果放入中文字,往往会出现乱码。为了方便使用,我把这个从文档中获取中文字的方法放在一个头文件里面Chinese.h这里的tex_vec是cocos2dx提供的一个保存文档内容的一个容器。这里给出ChineseWords,xml的格式再看看ChineseWord的实现Chinese.cpp就这样,以后在需要用到中文字的地方,就先include这个头文件然后调用ChineseWord函数,获取一串中文字符串。

  3. 利用cocos2dx 3.2开发消灭星星七关于星星的算法

    在前面,我们已经在GameLayer中利用随机数初始化了一个StarMatrix,如果还不知道怎么创建星星矩阵请回去看看而且我们也讲了整个游戏的触摸事件的派发了。

  4. cocos2dx3.x 新手打包APK注意事项!

    这个在编译的时候就可以发现了比较好弄这只是我遇到的,其他的以后遇到再补充吧。。。以前被这两个问题坑了好久

  5. 利用cocos2dx 3.2开发消灭星星八游戏的结束判断与数据控制

    如果你看完之前的,那么你基本已经拥有一个消灭星星游戏的雏形。开始把剩下的两两互不相连的星星消去。那么如何判断是GameOver还是进入下一关呢。。其实游戏数据贯穿整个游戏,包括星星消除的时候要加到获得分数上,消去剩下两两不相连的星星的时候的加分政策等,因此如果前面没有做这一块的,最好回去搞一搞。

  6. 利用cocos2dx 3.2开发消灭星星九为游戏添加一些特效

    needClear是一个flag,当游戏判断不能再继续后,这个flag变为true,开始消除剩下的星星clearSumTime是一个累加器ONE_CLEAR_TIME就是每颗星星消除的时间2.连击加分信息一般消除一次星星都会有连击信息和加多少分的信息。其实这些combo标签就是一张图片,也是通过控制其属性或者runAction来实现。源码ComboEffect.hComboEffect.cpp4.消除星星粒子效果消除星星时,为了实现星星爆裂散落的效果,使用了cocos2d提供的粒子特效引擎对于粒子特效不了

  7. 02 Cocos2D-x引擎win7环境搭建及创建项目

    官网有搭建的文章,直接转载记录。环境搭建:本文介绍如何搭建Cocos2d-x3.2版本的开发环境。项目创建:一、通过命令创建项目前面搭建好环境后,怎样创建自己的Cocos2d-x项目呢?先来看看Cocos2d-x3.2的目录吧这就是Cocos2d-x3.2的目录。输入cocosnew项目名–p包名–lcpp–d路径回车就创建成功了例如:成功后,找到这个项目打开proj.win32目录下的Hello.slnF5成功了。

  8. 利用cocos2dx 3.2开发消灭星星十为游戏添加音效项目源码分享

    一个游戏,声音也是非常的重要,其实cocos2dx里面的简单音效引擎的使用是非常简单的。我这里只不过是用一个类对所有的音效进行管理罢了。Audio.hAudio.cpp好了,本系列教程到此结束,第一次写教程如有不对请见谅或指教,谢谢大家。最后附上整个项目的源代码点击打开链接

  9. 03 Helloworld

    程序都有一个入口点,在C++就是main函数了,打开main.cpp,代码如下:123456789101112131415161718#include"main.h"#include"AppDelegate.h"#include"cocos2d.h"USING_NS_CC;intAPIENTRY_tWinMain{UNREFERENCED_ParaMETER;UNREFERENCED_ParaMETER;//createtheapplicationinstanceAppDelegateapp;return

  10. MenuItemImage*图标菜单创建注意事项

    学习cocos2dx,看的是cocos2d-x3.x手游开发实例详解,这本书错误一大把,本着探索求知勇于发现错误改正错误的精神,我跟着书上的例子一起调试,当学习到场景切换这个小节的时候,出了个错误,卡了我好几个小时。

返回
顶部