热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

cocos2d-2.0-x-2.0.4安装教程+快捷安装补丁(官方源码包改进建议)

最近刚入手2.0之后的cocos2d-x,还是花了两三天的时间才费尽周折把环境搞定。作为新手来说,配置环境以及编译HelloWorld的过程中总是碰到这样那样的问题,让我忍不住吐槽
最近刚入手2.0之后的cocos2d-x,还是花了两三天的时间才费尽周折把环境搞定。

作为新手来说,配置环境以及编译HelloWorld的过程中总是碰到这样那样的问题,让我忍不住吐槽:官方的源码包怎么不做好一点,方便我们这些新手呢?所以本帖也算是对官方源码包的改进建议。

我先是针对原版安装包写了个冗长的详细安装教程,感觉太啰嗦,不爽;
于是又写了个简短的快捷安装教程,但需要配合使用:我制做的这个快捷安装补丁——
这是我将官方原版 http://cocos2d-x.googlecode.com/files/cocos2d-2.0-x-2.0.4.zip 中的安装脚本做了些修改优化,方便我们这些草根菜鸟快速配置cocos2d-x环境。并且可以保證:编译时不再出莫名其妙的问题。
使用方法:直接用补丁中的文件去覆盖cocos2d-2.0-x-2.0.4原始文件。

顺便提个醒:从2.0版本开始,cocos2d-x不再支持在Android模拟器上运行,只能真机调试。(像类似这些提醒,以及安装操作步骤,完全应该写个说明文档放在官方源码包里。)



上图左侧是原版文件,右侧是我新增的文件&修改过的脚本文件↑
(蓝色为新增文件,红色为修改过的文件)

以下是使用《cocos2d-x快捷安装补丁》搭建Win32+Android完整环境的操作步骤,非常简洁:
假设NDK和cygwin和cocos2d-x分别安装到:
D:\Dev\cygwin
D:\Dev\android-ndk-windows
D:\Dev\cocos2d-x

★1. 先对快捷安装补丁中的文件进行编辑,
 这样预先配置好cocos2d-x的各个环境变量,后面会省很多事。
◆1.1 编辑文件create-android-project.bat
 修改_CYGBIN _ANDROIDTOOLS _NDKROOT三个变量的值:
 set _CYGBIN=D:\Dev\cygwin\bin
 set _ANDROIDTOOLS=D:\Dev\android-sdk-windows\tools
 set _NDKROOT=D:\Dev\android-ndk-windows
◆1.2 搜索到所有的build_native.sh文件,
 编辑这些文件,将文件开头NDK_ROOT和COCOS2DX_ROOT的值改成相应的路径:
 NDK_ROOT=/cygdrive/d/Dev/android-ndk-windows
 COCOS2DX_ROOT=/cygdrive/D/Dev/cocos2d-x
◆1.3 编辑文件template\android\gamemk.sh
 在gamemk.sh文件的开头部分可以看见
 FILE=$1
 NEED_BOX2D=$2
 NEED_CHIPMUNK=$3
 NEED_LUA=$4
 如果希望今后创建的Android项目包含Box2d模块,那么修改为NEED_BOX2D=true
 同理,如果需要包含chipmunk和lua模块,就去修改NEED_CHIPMUNK和NEED_LUA。
◆1.4 编辑文件template\msvc\CCAppWiz.win32\Scripts\1033\default.js
 将文件开头strCocos2dxRoot的值改成相应的路径,注意要使用双斜杠:
 var strCocos2dxRoot = 'D:\\Dev\\cocos2d-x';

★2. 将原版cocos2d-x压缩包解压到D:\Dev\cocos2d-x这个位置,
 用快捷安装补丁中的文件去覆盖D:\Dev\cocos2d-x中的文件。

★3. 先得安装好VS2008。然后双击运行
 D:\Dev\cocos2d-x\build-win32.bat
 稍等几分钟后cocos2d-x目录下会自动生成Debug.win32和Release.win32

★4. 创建并编译自己的Win32工程。
◆4.1 双击运行D:\Dev\cocos2d-x\install-templates-msvc.bat
 运行VS2008,新建项目,在Visual C++下选择Cocos2d-x。
 新建好的Cocos2d-x工程可以立即编译出Debug或Release版本。
◆4.2 不过第一次编译时,会报告缺失dll文件的错误,
 那么分别到D:\Dev\cocos2d-x\Debug.win32和Release.win32这两个文件夹下,
 找到工程所需的这几个dll文件:glew32.dll iconv.dll libcocos2d.dll
 libCocosDenshion.dll libtiff.dll libxml2.dll pthreadVCE2.dll zlib1.dll
 分别复制到当前工程文件夹下的Debug.win32和Release.win32目录中去。
◆4.3 可以将工程下的Resources文件夹中的所有图片文件
 复制到编译生成的Debug.win32和Release.win32目录中去。
 这样随时随地双击Release.win32中的exe程序就可以运行。

★5. 创建并编译自己的Android工程。
◆5.1 先去编辑文件D:\Dev\cocos2d-x\template\android\gamemk.sh
 选择需要添加的模块:Box2d chipmunk lua
 例如需要创建一个包含Box2d模块的项目,那么修改为NEED_BOX2D=true
◆5.1 双击运行D:\Dev\cocos2d-x\create-android-project.bat
 依次输入包名(公司的域名倒写)、工程名、目标的Android系统版本,例如:
 com.company.hellodemo
 HelloDemo
 4
 一个新的工程已被创建在D:\Dev\cocos2d-x\HelloDemo
 可以将这个工程移动到新的位置,例如E:\MyWork\HelloDemo
 也可以将这个工程中的proj.android文件夹提出来,放入上述创建的Win32工程中去。
◆5.2 运行cygwin,输入:
 cd /cygdrive/e/MyWork/HelloDemo/proj.android
 接着输入下列命令开始编译:
 ./build_native.sh
 编译完成之后再将proj.android文件夹导入Eclipse,进而编译得到apk包文件。


〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
※如需更详细冗长的原版安装指导,参见本补丁中的附加文档:
《NDK和cygwin下载安装与编译》《cocos2d-x安装配置与使用》《cocos2d-x异常问题处理》

 

文章来源:http://cocos2d.cocoachina.com/bbs/forum.php?mod=viewthread&tid=9940&extra=page%3D20%26filter%3Dauthor%26orderby%3Ddateline%26orderby%3Ddateline

转载时请保留该链接


推荐阅读
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • feat: Enhances Jest Testing Capabilities with Snapshot Support ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 解决 Windows Server 2016 网络连接问题
    本文详细介绍了如何解决 Windows Server 2016 在使用无线网络 (WLAN) 和有线网络 (以太网) 时遇到的连接问题。包括添加必要的功能和安装正确的驱动程序。 ... [详细]
  • 使用Jsoup解析并遍历HTML文档时,该库能够高效地生成一个清晰、规范的解析树,即使源HTML文档存在格式问题。Jsoup具备强大的容错能力,能够处理多种异常情况,如未闭合的标签等,确保解析结果的准确性和完整性。 ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 深入解析:Synchronized 关键字在 Java 中对 int 和 Integer 对象的作用与影响
    深入探讨了 `Synchronized` 关键字在 Java 中对 `int` 和 `Integer` 对象的影响。尽管初看此题似乎简单,但其实质在于理解对象的概念。根据《Java编程思想》第二章的观点,一切皆为对象。本文详细分析了 `Synchronized` 关键字在不同数据类型上的作用机制,特别是对基本数据类型 `int` 和包装类 `Integer` 的区别处理,帮助读者深入理解 Java 中的同步机制及其在多线程环境中的应用。 ... [详细]
  • 虚函数表指针vptr的功能测试与分析
    类的虚函数调用依赖于虚函数表来实现。虚函数表是由编译器自动生成的一段内存区域,用于存储包含虚函数的类中每个虚函数的入口地址。这些入口地址本质上是指针类型,从而使得动态绑定成为可能。本文对虚函数表指针(vptr)的功能进行了详细的测试与分析,探讨了其在多态性和继承机制中的作用及其性能影响。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
author-avatar
ZQ我是疯癫小karmenRJ
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有