Cocos 2d-X Lua游戏开发Mac环境搭建以及一点点感悟
接触Cocos2d-x
最近由于公司项目的需要,自己开始接触Cocos,开始做一些简单的轻量级的游戏,以前没有接触过这一块的东西,也是借助这个机会学习一下游戏的开发,由于以前自己接触的全都是iOS和Android移动端App的开发,所以这整个Cocos的学习总结的文章会在真个过程中贯穿对比自己相对熟悉的iOS和Android对比学习,要是也有和我自己情况类似的朋友,接下来总结的这整个Cocos系列的文章也许可以帮助到你,有不足的地方也希望指正,我们一同进步。
刚开始的时候,由于以前的游戏是用C++开发,自己就去慢慢的开始学习用Cocos2d-x C++简单的了解项目。自己看了最基本的一些Cocos的东西之后,说以后的游戏用JS做,然后又开始学习JS,最后决定用Lua开发,可能这就是人生.....其实上面说的意思就是想总结一些开发游戏的时候我们可以有的选择,开发语言就有 C++,JavaScript , Lua 三个选择,它们和你真正利用它们做游戏就像你懂OC、Swift。懂Java之后去做iOS或者Android之间的距离,这个可以仔细的想一想,懂这些语言和开发实际项目之间距离是什么,然后也就明白懂这些语言和实际的游戏项目开发之间欠缺的就是Cocos2d-x的东西,要认清了这些也就了解了“游戏怎么做”这个基本的问题吧!
说说Cocos
Cocos是一个大概念,等我们具体的开发中使用到的是Cocos2d-x模块的东西,看看这个Cocos 产品的一个架构:
1: Cocos Creator 这是一个为我们开发游戏做的IDE,具体的可以看这个 Cocos Creator v1.5.x 用户手册
2: Framework 这个就是开发的核心Cocos2d-x,其实按照我自己的理解,和iOS中我们常说的框架是类似的,比如你处理一些基本数据你就需要Foundation框架,处理UI的东西需要UIKit框架一样,这个Cocos2d-x就是我们开发游戏是需要的“框架”。
3: SDK 这一部分的AnySDK是为CP商提供一套第三方SDK接入解决方案,包括我们常用的像支付、分享、统计分析等等。具体的也可以看看 SDK文档,可能有些人还知道棱镜SDK、anysdk、易接(1SDk),关于这几个有什么区别,甚至在什么时候用哪个等等的额问题,下面这篇文章可能能说明问题:
如何评价棱镜SDK、anysdk、易接(1SDk),他们都有什么差别?
4、
通过上面的分析和阐述能明白 Cocos 是什么 这个问题就可以了。
说说Cocos开发语言
前面Framework提到过游戏开发的语言,就是C++ 、JavaScript 、Lua这三种,按照我自己的一点点小小的理解,要说什么语言比较好一点这种问题也不够资格回答,在知乎上看到过这样的问题,有兴趣的可以去看看,也许里面一些回答能让你有自己的理解:
相信每一个程序猿对C/C++是有一定的掌握的,按照自己学习JS和Lua的过程,它们的学习难度都不大,完全可以通过对C掌握来相对容易的拿下它们。所以千万不要为你要学习一门新的开发语言而担心或者害怕,哪有程序猿不需要学习新东西更新自己的知识库的!当然这点难度的是也难不倒伟大的程序猿。
接下来说说Lua,Lua是一个脚本语言,具体的Lua语法什么的我们就不提了,在后面具体说到Lua的时候再说,知道了Cocos2d-Lua你还需要知道这个: Quick-Coco2d-x
下面这段话是在泰然网(也就是Quick-Coco2d-x官网)的教程里面说的,具体的告诉我们,什么是 Quick-Coco2d-x
首先,想了解 Quick-Coco2d-x 就必须先知道 Cocos2d-x 是什么,不过我想关于 Cocos2d-x 的介绍这里就不用我来废话了吧,毕竟这么牛的游戏引擎还是应该很点名气的吧!
其次,由于 Cocos2d-x 中使用的是 C++ 语言,而 C++ 又对开发人员要求较高,所以逐渐地,开发者们开始将 Cocos2d-x 的 C++ 接口转成了 Lua 接口,从而衍生出了 Cocos2d-lua 的版本。而 Quick(Quick-Coco2d-x)是 Cocos2d-Lua 的一个豪华增强和扩展版本,它重写了支持代码、解决了内存泄露和只能使用全局函数做回调等等问题。Quick 能让开发者使用 Lua 这种简单易懂的脚本语言来编写游戏,并大大提高了开发效率。现在Quick 团队也已接手了 Cocos2d-lua 的开发和维护工作,所以未来 Quick 和 Cocos2d-lua 将有望完全合并起来。
我想通过上面两段话也就理解了Quick-Coco2d-x 和 Cocos2d-lua的关系!而下面的开发环境的搭建我们也就这两个方面说说,用Quick-Coco2d-lua 和Cocos2d-lua进行一个对比,也就能知道怎样的开发环境对于开发人员是最友好的。
在Mac上开发游戏环境选择搭建
首先通过环境的搭建和各种对比之后在这抛出一个见解: 目前自己觉得比较友好的方式是 Quick-Coco2d-x + Sublime Text 3(2/3都可以)
Sublime Text 3 你可以直接去官网下载 具体的 Quick-Coco2d-x 你可以看看这个:Quick社区版第一个稳定版,Quick-Cocos2dx-Community 3.6 release发布!
它详细的介绍了Mac版本的客户端Paly3安装方式,我们再下面就简单的说说它在Mac系统中的安装方式:
首先按上面地址下载之后,在终端中运行下图中的文件:
可能有同学会问,这东西怎么样在终端中运行啊?
答案就是:你把它拖到终端中 —— 回车 !哈哈哈 安装中会让你输入电脑的密码,然后你就可以在应用程序中找到一个叫palyer 3 的程序,桌面找不到可以去Finder 的 应用程序中找,如下所示:
好,找到你的player 3 之后,打开它你就打开了一扇大门!
接下来这个Paly3 我们就不再说了,新建项目/导入项目 或者打开已有的项目等等的相信都能理解。要是安装中出现一些问题,希望都可以自己动手上网解决了,当然也可以加我QQ多多交流。
Mac 搭建游戏开发环境还有一些方式,比如:还有利用 Cocos Studio 2 的,这个具体的可以看它的官网: Cocos 官网
看看官网的下载,相信创建一个基本的Demo这种事也难不住你。
直接运行你创建在项目,也就可以看到Demo啦。
再给大家分享个链接: Quick-Cocos2d-x教程汇总
后面文章做的事
其实这篇文章起笔真的也是许久之前的事情了,自己接触Cocos也就两个多月,感觉也度过了最艰难的入门时期,最近也真的是太忙,没有时间留给自己总结这两个多月的东西了,没错,国庆加班到现在,真的是累!
不传播负能量啦,说说后面的,其实很想仔细的把iOS内存管理,Block以及多线程的东西也好好的总结一下的,最近给游戏里面负责添加了苹果原生支付,所以Lua和iOS的交互以及苹果内购方面的东西也值得好好总结一下啦。
接下来应该会先总结Lua和iOS交互以及支付的事,毕竟也要给客户写文档,到时顺便把这些一起做了。
猿猿们,1024快乐!!!
Cocos 2d-X Lua游戏开发Mac环境搭建以及一点点感悟的更多相关文章
- Cocos2d-x Lua游戏开发Mac环境搭建以及一点点感悟
接触Cocos2d-x 最近由于公司项目的需要,自己开始接触Cocos,开始做一些简单的轻量级的游戏,以前没有接触过这一块的东西,也是借助这个机会学习一下游戏的开发,由于以前自己接触的全都是iOS和A ...
- cocos IDE 编译lua 游戏程序的环境配置
因为毕业设计需要用cocosIDE编译一个apk在手机上跑,所以搭建这个环境还是需要的. ps:是针对win系统的. 需要的工具: 1.cocosIDE:点击链接 (ps:据说这个软件设计有点反人类, ...
- mac下用clion进行sdl2游戏开发de环境搭建
1. 故事背景 想从unity转unreal了,于是要使用c++进行开发.unreal引擎那么大,每次打开,我的小本都嗡嗡嗡的,想着不如用个轻量一些的引擎先开发吧,核心代码独立出来,到时候如果真要移植 ...
- lua游戏开发实践指南学习笔记1
本文是依据lua游戏开发实践指南做的一些学习笔记,仅用于继续自己学习的一些知识. Lua基础 1. 语言定义: 在lua语言中,标识符有非常大的灵活性(变量和函数名),只是用户不呢个以数字作为起始符 ...
- IOS开发基础环境搭建
一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包: ...
- 【1】windows下IOS开发基础环境搭建
一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包: ...
- Python开发:环境搭建(python3、PyCharm)
Python开发:环境搭建(python3.PyCharm) python3版本安装 PyCharm使用(完全图解(最新经典))
- Windows下Lua+Redis 断点调试环境搭建==Linux下类似
Lua+Redis 断点调试环境搭建 windows环境,使用Redis,写lua脚本头疼的问题之一不能对脚本断点调试,google加上自己的摸索,终于搞定. 1.下载ZeroBraneStudio, ...
- golang开发android环境搭建_window
golang开发android环境搭建介绍 一 安装依赖软件: git:版本管理 go: go开发环境(版本>=1.5),可直接下载window版的go安装包. android studio: ...
随机推荐
- IBOutletCollection 索引获取顺序问题
在sb中绑定了一个IBOutletCollection后,根据索引获取元素发现和自己拖线时的顺序不同,有时又会根据顺序,不知道是xcode的bug还是本身就是无序的. 在使用的时候直接排序: - (v ...
- C#入门篇6-2:字符串操作 string常用的函数
//String 字符串的常见操作 public static void Fun1() { string MyStr = " Hello World! "; //length长度属 ...
- 微信公众开发api接口
简介 微信公众平台消息接口为开发者提供了一种新的消息处理方式.微信公众平台消息接口为开发者提供与用户进行消息交互的能力.对于成功接入消息接口的微信公众账号,当用户发消息给公众号,微信公众平台服务器 ...
- Python数据结构之列表、元组及字典
一位大牛Niklaus Wirth曾有一本书,名为<Algorithms+Data Structures=Programs>,翻译过来也就是算法+数据结构=程序.而本文就是介绍一下Pyth ...
- error C2011: “Picture”:“struct”类型重定义
今天引用外来库时出现问题,也许是版本问题. 错误如下: .....\oursun\cincludes\quickdraw.h(309): error C2011: “Picture”:“struct” ...
- Android EditText禁止换行键(回车键enter)
在EditText所在的xml文件中,设置android:singleLine="true", 则可以禁止掉虚拟键盘: maxlength为该EditText的最大输入长度: &l ...
- 查看 wordpress 版本以及如何隐藏版本号
查看 wordpress 版本 进入后台“仪表盘”,该页面的左上角图片显示了wordpress的版本号. 查看网页源代码在网站的主页空白处点右键弹出菜单,选择“查看网页源代码”.在出现的源码页面里查找 ...
- python 浮点数问题
为什么 输入:0.2 + 0.1 得到的是:0.30000000000000004???? 0.1 * 3 = 0.30000000000000004????
- Leetcode 599.两个列表的最小索引总和
两个列表的最小索引总和 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示. 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅. 如果答 ...
- [python][django学习篇][14]markdown 代码高亮
1 修改detail视图函数,渲染文件的时候,增加codehight拓展 post.body = markdown.markdown(post.body, extensions=[ 'markdown ...