接触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环境搭建以及一点点感悟的更多相关文章

  1. Cocos2d-x Lua游戏开发Mac环境搭建以及一点点感悟

    接触Cocos2d-x 最近由于公司项目的需要,自己开始接触Cocos,开始做一些简单的轻量级的游戏,以前没有接触过这一块的东西,也是借助这个机会学习一下游戏的开发,由于以前自己接触的全都是iOS和A ...

  2. cocos IDE 编译lua 游戏程序的环境配置

    因为毕业设计需要用cocosIDE编译一个apk在手机上跑,所以搭建这个环境还是需要的. ps:是针对win系统的. 需要的工具: 1.cocosIDE:点击链接 (ps:据说这个软件设计有点反人类, ...

  3. mac下用clion进行sdl2游戏开发de环境搭建

    1. 故事背景 想从unity转unreal了,于是要使用c++进行开发.unreal引擎那么大,每次打开,我的小本都嗡嗡嗡的,想着不如用个轻量一些的引擎先开发吧,核心代码独立出来,到时候如果真要移植 ...

  4. lua游戏开发实践指南学习笔记1

    本文是依据lua游戏开发实践指南做的一些学习笔记,仅用于继续自己学习的一些知识. Lua基础 1.  语言定义: 在lua语言中,标识符有非常大的灵活性(变量和函数名),只是用户不呢个以数字作为起始符 ...

  5. IOS开发基础环境搭建

    一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:       ...

  6. 【1】windows下IOS开发基础环境搭建

    一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:       ...

  7. Python开发:环境搭建(python3、PyCharm)

    Python开发:环境搭建(python3.PyCharm) python3版本安装 PyCharm使用(完全图解(最新经典))

  8. Windows下Lua+Redis 断点调试环境搭建==Linux下类似

    Lua+Redis 断点调试环境搭建 windows环境,使用Redis,写lua脚本头疼的问题之一不能对脚本断点调试,google加上自己的摸索,终于搞定. 1.下载ZeroBraneStudio, ...

  9. golang开发android环境搭建_window

    golang开发android环境搭建介绍 一 安装依赖软件: git:版本管理 go:  go开发环境(版本>=1.5),可直接下载window版的go安装包. android studio: ...

随机推荐

  1. Redis实现之链表

    链表 链表提供了高效的节点重排能力,以及顺序性的节点访问顺序,并且可以通过增删节点来灵活地调整链表的长度.作为一种常用数据结构,链表内置在很多高级的编程语言里面,因为Redis使用的C语言并没有内置这 ...

  2. border,border-width不支持百分比

    1.border-width不支持百分比 原因:不会因为设备大就按比例变大 同样的,outline,box-shadow,text-shadow也不支持百分比 也就是border不支持百分比 2.bo ...

  3. Python Unicode与中文处理

    转自:http://blog.csdn.net/dao123mao/article/details/5396497 python中的unicode是让人很困惑.比较难以理解的问题,本文力求彻底解决这些 ...

  4. 【Python】locust框架接口性能测试(一)

    本人工作中主要对接口与web进行性能测试,而接口测试主要为http协议接口和webservice接口,本文主要对locust框架http接口测试先进行简单介绍. 1.测试需求 对某系统登录接口进行测试 ...

  5. 【LeetCode】Merge Two Sorted Lists(合并两个有序链表)

    这道题是LeetCode里的第21道题. 题目描述: 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1-&g ...

  6. linux实用命令-待补充

    - du 查看目录大小 - du -h 带有单位显示目录信息 - df 查看磁盘大小 - df -h 带有单位显示磁盘信息 - netstat 显示网络状态信息 - 清除僵尸进程 ps -eal | ...

  7. ansible Failed to connect to the host via ssh: no such identity: /root/.ssh/id_rsa.bak

    中控机和远端主机配置完密钥后,在中控台上通过ansible检测联通性 ansible -i inventory.cfg all -m ping 10.1.1.1 | UNREACHABLE! => ...

  8. mapserver+openlayers实现左键点击查询

    效果图 第一步,配置自己的mapfile,在要查询的图层LAYER对象内加上HEADER,TEMPLATE,FOOTER三个参数,同时,TEMPLATE fooOnlyForWMSGetFeature ...

  9. event对象的兼容性

    最近在调试项目的时候,发现IE和Chrome都显示正常,就是FireFox异常,F12查看控制台,发现报错:window.event is undefined.检查代码中定义的事件方法中获取事件对象直 ...

  10. 如何在 Windows 7 上安装 TeX Live 2018

    $\color{red}{\mathsf{UPDATE}}$:见李阿玲在知乎专栏 All about TeXnique 发布的安装教程 关于 TeX Live:http://tug.org/texli ...