cocos2d麻将源码(cocos 麻将)
本文目录一览:
- 1、如何学习 cocos2d-x
- 2、谁有cocos creator做的房卡麻将
- 3、手机游戏用Cocos2d游戏引擎的开发代码如何保障不会被逆向破解?
- 4、cocos2dx 2.x源码还有用么
- 5、自学cocos2d js游戏开发应该按什么步骤进行
- 6、cocos2dx源码怎么导入vs2010 csdn
如何学习 cocos2d-x
刚巧我也是从AS3转到了cocos2d-x,说说我的经验吧。
一、 cocos2d-x 部分
1.1 技术选型
从第三个手游开始,我实在被Adobe的ANE和国内的小平台折腾得没了脾气,决定转到cocos2d-x。在选择哪种语言绑定的时候纠结了很久,最后力排众议选了 lua:Cocos2d-x script language binding:Lua or Javascript? 。cocos2d-x 2.x 的lua绑定做得并不好,于是我选择了 quick-cocos2d-x 。
1.2 学习 C++
《C++ Primer》 是不错的入门书籍,建议看第五版,我写过一篇 C++Primer 第4版和第5版比较 。学习期间建议画一些思维导图帮助理解和整理思路。例如这个(不完整):
1.3 学习DEMO和熟悉开发平台。
编译 cocos2d-x 自带的 TestCPP 项目,全部跑一遍。熟悉 cocos2d-x API 的用法。记得生成文档,建议每个API的功能都浏览一遍。
在学习DEMO的过程中,你还必须熟悉自己开发平台的IDE,例如Windows上必须熟悉 Visual Studio,而OS X上必须熟悉xcode,Linux平台上就熟悉Eclipse+CDT吧。
注意,quick-cocos2d-x 是不支持Linux开发平台的。
1.4 了解引擎的文件夹结构
基于 cocos2d-x 源码生成的文档并不怎么详细,许多功能必须看源码。但这个阶段,我不建议纠结源码太深,倒是可以纠结一下 cocos2d-x 的文件夹结构,看看各个类放在什么地方,找一找常见的哪些宏和常量以及枚举定义在什么地方,这花不了多少时间,但能让你对cocos2d-x有更深刻的了解,同时给你很强的成就感。这种成就感冲淡了你面对大量源码时候的无力感,让你能够继续前行。
下面是我的分析:
1.5 重复上面的第3步:再次学习DEMO
这时候看DEMO可能会轻松不少,但是你会有更多的问题去纠结。例如多分辨率支持?例如坐标系统?例如绘图功能?例如层级管理系统?例如事件传递系统?等等等等……这时候可以去Google(注意不要用百毒和其他搜索引擎)找文档看了。我推荐一些我看过的不错的文档和博客:
Cocos2d-x 多分辨率适配完全解析
Cocos2d-x官方中文文档 v2.x
子龙山人 – 博客园
红孩儿的游戏编程之路
Cocos2D | iOS Development Tips Tricks by BiOM
Ray Wenderlich
Cocos2d-x | Cross Platform Open Source 2D Game Engine
许多博客都是极好的。红孩儿 写了许多源码分析,每一句源码都加了详细注释。虽然我不太认同他这种吃力不讨好的方法,但这对于新手来说确实是有很大帮助的。
另外在 Stack Overflow 你能找到绝大部分问题的答案。当然,许多问题是针对 cocos2d 而非 cocos2d-x 的,不过用法相同,照看不误。许多优秀的文章都是基于 cocos2d 的,所以,不要介意,可以先花半天时间熟悉 OC 的语法,能看懂即可。
暂时不要买中文书。我曾经花3天时间看完了 《Cocos2D-X游戏开发技术精解》 和 《cocos2d-x手机游戏开发–跨iOS、Android和沃Phone平台》 ,发现作者其实就是来赚稿费的。
忘了广告了,我的博客(cocos2d-x | zrong’s Blog)也有一些cocos2d-x内容,欢迎来喷。
1.6 熟悉工具集
现在你应该对周边工具感兴趣了。例如帧动画使用什么制作?BMFont使用什么制作?骨骼动画呢?plist文件怎么编辑?碎图用什么工具拼合?有些项目上,你有许多选择,也可能没得选。去Google吧,如果遇到选择上的问题,欢迎找我讨论。
二、 quick-cocos2d-x 部分
2.1 现在就到lua时间了
请认真读完 《Lua程序设计(第2版) 》 第一、二、三部分。第四部分可暂时不读。
2.2 熟悉 quick-cocos2d-x 的文件夹结构
相信有了上面 cocos2d-x 的基础,这个应该不难理解。
2.3 跑完 quick-cocos2d-x 自带的所有sample
在这期间,熟悉 framework 中的所有封装。可以参考 quick网站 和 quick wiki 。
2.4 学习导出API给Lua使用
导出 C/C++ API 给 Lua 使用
三、学习 OpenGL ES
熟悉Lua部分之后,作为一个有志于成为程序员的码农,依然要回到C++来,这里才是 cocos2d-x 的本质。
cocos2d-x 使用 OpenGL ES 进行渲染的,如果要对 cocos2d-x 的渲染层进行任何形式的扩展,你完全避不开 OpenGL ES。
既然逃不开,那就对她说,请张开双腿,我要上。
3.1 阅读 OpenGL ES 2.0 Programming Guide
下面是这本书的官网,目前已经出了 OpenGL ES 3.0 版本,cocos2d-x 使用的是2.0。
这本书写得浅显易懂,非常适合新手。有位网友花3个月时间翻译了中文版,但还是建议你不要看了。
这里是 OpenGL ES 的 官方文档 和 API中文翻译 。
当然,你也可以买那本著名的 OpenGL 红宝书 《OpenGL编程指南(原书第7版)》 来看,不过 OpenGL ES 相对与 OpenGL 来说还是有一些不同的,你要知道如何区分这些不同。
3.2 尝试理解 cocos2d-x 的渲染部分架构
相关的类我就不列出了,我正在酝酿一个这方面的系列文章准备发到博客上。如果写完了,我会在这里更新。
3.3 自己写一些滤镜、绘图功能的扩展
例如这个: cocos2d-x-filters
四、回归项目
到了这里,你可以开始你的项目了。虽然源码还没有读完,但相信整个架构都能理解了。在做项目的过程中,再去一点点读源码是比较快捷和我能够接受的方法,否则就太枯燥了。
你可以还需要选择一下cocos2d-x相关的工具。你可能听说过 CCB(cocosBuilder)和CCS(cocoStudio),尝试了解她们,再决定是否使用她们。
你已经有了AS3的基础,这样许多前端的概念和经验已经很丰富了。这些经验在cocos2d-x中同样适用。但是要注意的是,cocos2d-x不是AS3,不要试图用AS3的方法去使用cocos2d-x。
有位码农在从C#转到AS3的时候向我抱怨:为什么Flash Builder没有Visual Studio的这个功能那个功能?
然后这位码农在从AS3转到Sublime Text(用于Lua编辑)的时候向我抱怨,为什么Sublime Text没有Flash Builder的这个功能那个功能?
上面是个笑话。
同时,为了解决一些cocos2d-x没有提供的功能,你必须去学习相关的知识。例如这个:在 cocos2d-x 中使用 libcurl 实现上传文件功能(附quick-cocos2d-x封装) 。不过你现在已经有了基础,学习这些不是难事。
在有时间的时候,可认真读一下上面提到的《Lua程序设计(第2版) 》第四部分,了解Lua和C语言通信的方式,顺便看看cocos2d-x里面是怎么实现的。
另外,一些你需要的引擎中没有的功能,也可以顺手实现了开源出来(例如这个: 一个LuaSocket封装 ),说不定你需要的东西正好是别人也需要的。
五、熟悉发布平台
既然是做手游,Android和iOS平台是逃不掉了。
你要熟悉Android和iOS平台的特点,熟悉JAVA语言在Android上的应用,熟悉Objective-C在iOS上的应用,熟悉Eclipse ADT和XCode(上面应该已经熟悉过了)。
你还要熟悉Google Play和AppStore的发布流程以及方针、政策,内购的接入、SDK的嵌入。
你要学习和各个接入平台的程序员、商务、前台小妹打交道(因为经常会找不到你要找的真正的负责该SDK的技术人员),你要能忍受国内小平台糟糕的文档、代码规范和逆天的编程方法。
终、没有终点
上面说的并不完整,应该遗漏了不少东西,但我只能说这么多了。因为我的经验也止于此。
转载,仅供参考,祝你愉快,满意请采纳。
谁有cocos creator做的房卡麻将
你好 ,我做过UNITY也做过COCOS 综合来分析的话我觉得各有千秋。unity的优势我觉得在于它开发的强大 灵活度高 而且所见即所得,这一点真的是很牛逼得。在编码过程中可以实时查看所有Public变量改变反正就是很方便,而unity最大的问题个人觉得就是这个APK打包出来体积大的吓人。。而相对于cocos就不太方便了,他的游戏是基于一个个层或者一个个组建拼凑而成,写起来的时候会需要有大量的东西去准备。但是这样也有一个好处那就是只要构思好写好所有的层级修改起来还算方便而且很多功能也是Unity无法实现的。其实他们各有各的好处 看你喜欢那样咯,unity现在倾向于3d游戏这一块和虚拟现实,而cocos终究还是2d游戏的首选开发引擎。
手机游戏用Cocos2d游戏引擎的开发代码如何保障不会被逆向破解?
目前针对Cocos2d游戏引擎的开发代码防逆向主要是通过隐藏lua脚本文件,根据爱加密介绍,通过隐藏lua脚本文件,可以保护代码不被黑客给逆向,从而保护游戏逻辑的安全性。希望可以采纳,谢谢!
cocos2dx 2.x源码还有用么
不建议再使用 cocos2d-x 2.x ,主要是 cocos2d-x 3.x 的 API 更合理,更规范,也使用了 C++ 11的诸多特性。
cocos2d-x 的教材比较混乱,建议不要看。
触控官网的文档都不一定靠谱,最靠谱还是看源码。
自学cocos2d js游戏开发应该按什么步骤进行
跟你简要说一下我的自学路,以免你走弯路
背景:
有工作,而且很忙;在不影响工作基础上用业余时间鼓捣(经常会因为工作耽搁学习进度);基本没技术背景(初中qbasic、高中pascal半吊子),大学文科,工作也不是搞代码。因此我感觉我的自学路跟你还是挺契合的。
1
两年前的一天,决定要做独立游戏制作人。选定引擎cocos2d,开始学习objective-c语言;(如果你打算只在iOS平台开发可以学obj-c配合cocos2d或者sprite kit;如果打算跨平台就要用cocos2d-x和c++了;当然unity什么的也不错但是我还没尝试过,一直很向往)
2
我跳过了iOS程序开发(似懂非懂看完了斯坦福那一系列的教学视频),结合当时情况直接选择了cocos2d引擎,这时开始接触 @吴一刀 推荐的博客;我主要看的是子龙山人子龙山人 - 博客园、Ray WenderlichRay Wenderlich、Himi黑米GameDev街区这些博客里最基本的例子,知易那个以我当时的水平还看不懂。
3
尝试开始设计自己的简单游戏,我做打地鼠!当然比教学例子里的打地鼠复杂多了
4
这个过程中发现自己懂的实在是不够,所以又开啃这本书:Learn cocos2d 2 by Steffen Itterheim Andreas Low
5
慢慢的发现需要一些趁手的工具和编辑器,并发展出一套自己构建于cocos2d之上的游戏设计架构。我目前的情况是这样:
关卡编辑我使用plist文件配合自己写的类;
sprite sheet使用TexturePackerTexturePacker;
动画/UI编辑最初自己手写太累,后来选择了cocosbuilder,请注意现在这个软件已经停止维护,转而引导用户使用SpriteBuilderSpriteBuilder(域名都做了自动跳转;SpriteBuilder我木有研究过,建议你研究一下)。
粒子编辑我自己还没实际用到,如果真正需要我感觉cocosbuilder的够我用的。//更新:后来用到了ParticleDesigner和cocosbuilder两个软件的粒子编辑混搭
我当时遇到的一个大麻烦是如何让cocosbuilder、cocos2d版本互相兼容且cocosbuilder无问题。大概情况是这样:cocosbuilder2.1和cocos2d-iphone2.0及2.1版本都不协调怎么办?;What version of Cocosbuilder and Cocos2d-iphone should I choose?
目前我使用的cocosbuilder 2.1版本(渐变层有bug、并且很可惜动画播放完没有触发消息的机制,我只好把每个动画时长都手动记录一下自己处理)
======3月12日更新======
在 @GarfieldKwong 指点下发现这个版本动画播放完是可以触发消息机制的,更高级版本3.x支持的效果应该是在动画中就加入callback的关键帧
新技能get√
具体代码可见下面学习案例的第一个例子里Explosion部分
=====================
cocosbuider的学习可以看两个例子Creating a Game with CocosBuilder;Introduction to CocosBuilder;然后就是多用多尝试。
6
整个学习过程要学会查资料、学会寻求帮助,我主要用的stackoverflow(话说刚刚发现stackoverflow的reputation喜过15,终于可以投票了:)
在学习过程中得到了子龙山人(我认为本尊是这位 @屈光辉 )、LearnCocos2d作者Steffen、 @kubisoft 以及众多网上朋友的帮助,再次表示感谢。
7
硬件及开发者资格:看完c++开始看obj-c,这个过程一直是使用的vmware虚拟机安装的mac系统写程序;然后入手一个最便宜的mac pro、以及iPhone,尝试玩各种游戏;从看c++开始大约过了1年半(已经有非常简陋的游戏demo)才真正购入iOS开发者资格并开始真机测试。
8
尝试过的一些其他工具、各种弯路和坑、以及发散内容:
可以拖拽方式写代码的stencyl Stencyl: Make iPhone, iPad, Android Flash Games without code;
最初学的不是ojc-c而是谭浩强老师的c++程序设计(虽然有人不喜谭老师,但那书是中文的让我对面对对象程序设计有一些初步的概念,再看英文的obj-c不至于太摸不着头脑,反正手头正好有这么一本买了6年没看的c++。。。);
尝试过Tiled Map Editor但自己目前的坑没有用到;
尝试过一点物理引擎和粒子,但自己目前的坑没有用到;现在粒子用到了,做了火焰等效果,也挺美的;但是一定要注意CPU占用优化,内存方面我最低支持4S没遇到大问题
学习音乐制作,这个我小时候学琴一直也喜欢音乐所以有一点点底子,如果没有基础可能上手有门槛;开始用的软件LMMS,但是音源插件在64位系统的问题我一直没解决掉时间精力也不多,所以是暂时停滞了;最近发现Garage Band可能也可以写歌;另外还试过一个很有历史的微软的音乐自动编辑器,很好玩,用来做背景音乐也不错。
入手手绘板学画画(这中间纠结了好久才决定用位图不用矢量图),如果你能找到热爱游戏的美术同学一起搞那最好不过。但是我一直对画画心痒难搔。。。所以入了这个深坑,晒一晒:
转载
z
cocos2dx源码怎么导入vs2010 csdn
新建一个cocos2d工程目录,将recources也就是素材库复制至工程目录,在VC里删掉新建项目Classes分类下的所有文件,然后右击Classes分类,添加现有项,找到下载的源码classes,导入所有。