Cocos2d-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安装方式,下面就是一个Paly3运行起来的样子:
接下来这个Paly3 我们就不再说了,新建项目/导入项目 或者打开已有的项目等等的相信都能理解。要是安装中出现一些问题,希望都可以自己动手上网解决了,当然也可以加我QQ多多交流。
Mac 搭建游戏开发环境还有一些方式,比如:还有利用 Cocos Studio 2 的,这个具体的可以看它的官网: Cocos 官网
看看官网的下载,相信创建一个基本的Demo这种事也难不住你。
直接运行你创建在项目,也就可以看到Demo啦。
再给大家分享个链接: Quick-Cocos2d-x教程汇总
后面文章做的事
其实这篇文章起笔真的也是许久之前的事情了,自己接触Cocos也就两个多月,感觉也度过了最艰难的入门时期,最近也真的是太忙,没有时间留给自己总结这两个多月的东西了,没错,国庆加班到现在,真的是累!
不传播负能量啦,说说后面的,其实很想仔细的把iOS内存管理,Block以及多线程的东西也好好的总结一下的,最近给游戏里面负责添加了苹果原生支付,所以Lua和iOS的交互以及苹果内购方面的东西也值得好好总结一下啦。
接下来应该会先总结Lua和iOS交互以及支付的事,毕竟也要给客户写文档,到时顺便把这些一起做了。
猿猿们,1024快乐!!!
Cocos2d-x Lua游戏开发Mac环境搭建以及一点点感悟的更多相关文章
- Cocos 2d-X Lua游戏开发Mac环境搭建以及一点点感悟
接触Cocos2d-x 最近由于公司项目的需要,自己开始接触Cocos,开始做一些简单的轻量级的游戏,以前没有接触过这一块的东西,也是借助这个机会学习一下游戏的开发,由于以前自己接触的全都是iOS和A ...
- mac下用clion进行sdl2游戏开发de环境搭建
1. 故事背景 想从unity转unreal了,于是要使用c++进行开发.unreal引擎那么大,每次打开,我的小本都嗡嗡嗡的,想着不如用个轻量一些的引擎先开发吧,核心代码独立出来,到时候如果真要移植 ...
- 【Cocos2D研究院之游戏开发】
http://www.xuanyusong.com/archives/category/ios/cocos2d_game 分类目录归档:[Cocos2D研究院之游戏开发] 201211-19 Co ...
- 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: ...
- lua游戏开发实践指南学习笔记1
本文是依据lua游戏开发实践指南做的一些学习笔记,仅用于继续自己学习的一些知识. Lua基础 1. 语言定义: 在lua语言中,标识符有非常大的灵活性(变量和函数名),只是用户不呢个以数字作为起始符 ...
随机推荐
- 201521123042 《Java程序设计》第4周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 多态性的应用: instanceof运算符: 通过 instanceof判断父类引用所引用的 ...
- 201521123050 《Java程序设计》第4周学习总结
1. 本周学习总结 2. 书面作业 1.注释的应用 1.1使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看.(截图) 2.面向对象设计(大作业1,非常重要) 2.1 将在 ...
- 201521123065《java程序设计》第11周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 1.多线程的临界资源:启动多个线程同时运行时,需要同时访问共同的资源,导致结果的不正确性: 2.原子性操作:只进行 ...
- JAVA课程设计 学生成绩管理
学生成绩管理 可实现功能: 添加学生功能:姓名.学号.性别.出生年月日.(学号自动生成且唯一) 添加学生成绩功能:每个人都有数学.Java与体育四门课,可分课程输入成绩. 根据学生学号查找学生成绩功能 ...
- 201521123085《Java程序设计》第10周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 finally 题目4-2 1.1 截图你的提交结果(出现学 ...
- bookStore第二篇【图书模块、前台页面】
图书模块 分析 在设计图书管理的时候,我们应该想到:图书和分类是有关系的.一个分类可以对应多本图书. 为什么要这样设计?这样更加人性化,用户在购买书籍的时候,用户能够查看相关分类后的图书,而不是全部图 ...
- XML预览
功能: 实现模板文件的预览 模板实体类中有一个content字段,它的值是xml形式的,就是要预览它的内容; 实现思路: 在java后台中将这个xml内容以xml文件的形式保存到服务器上,然后将路 ...
- C#调用AForge实现摄像头录像
1: 首先下载库文件>> 也可以去官网寻找>> 下载本教程全代码>> 输出为MP4需要用到ffmpeg相关的文件,我打包的库已经带了,去官网找的库可以在这个目录找到 ...
- 谈一谈最近学了一段时间的node.js
官方说明 1.NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”. 2.node是一个基于Chrome V8引擎进行代码解释的.轻量.可伸缩的具有事件驱动和非阻塞I/O机制的js运 ...
- .NET 动态脚本语言
Script.NET (S#) 是一种允许为你的应用程序自定义行为,与本地.NET对象.类型和组件交互动态的脚本语言.托管应用程序本身可以改变一个xml配置脚本运行时的默认行为,更换绑定的方法,属性, ...