问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么在cocos2dx的基础上学习opengl,shader

发布网友 发布时间:2022-04-11 19:26

我来回答

1个回答

热心网友 时间:2022-04-11 20:55

说说我的经验吧。

一、cocos2d-x 部分

1.1 技术选型

从第三个手游开始,我实在被Adobe的ANE和国内的小平台折腾得没了脾气,决定转到cocos2d-x。在选择哪种语言绑定的时候纠结了很久,最后力排众议选了 lua:Cocos2dx+lua合适还是Cocos2dx+js合适? cocos2d-x 2.x 的lua绑定做得并不好,于是我选择了 quick-cocos2d-x (后来,quick被触控收购)。

1.2 学习 C++

C++ Primer 中文版(第 5 版) (豆瓣) 是不错的入门书籍,建议看第五版,我写过一篇 C++Primer 第4版和第5版比较 。学习期间建议画一些思维导图帮助理解和整理思路。例如这个(不完整):

1.3 学习DEMO和熟悉开发平台


编译 cocos2d-x 自带的 TestCPP 项目,全部跑一遍。熟悉 cocos2d-x API 的用法。记得用doxygen 生成文档,建议每个API的功能都浏览一遍。


有的同学可能更喜欢直接看源码,那当然更好。不过文档有一个好处就是能更直观地显示继承关系。

学习DEMO的过程中,你必须熟悉自己开发平台的IDE,例如Windows上必须熟悉 Visual Studio,而OS X上必须熟悉xcode,Linux平台上就熟悉Eclipse+CDT吧。
注意,quick-cocos2d-x 是不支持Linux开发平台的。
2014-05-17更新:quick已经使用QT重写了player部分,但依然不支持Liunx平台。
1.4 了解引擎的文件夹结构
基于 cocos2d-x 源码生成的文档并不怎么详细,许多功能必须看源码。但这个阶段,我不建议纠结源码太深,倒是可以纠结一下 cocos2d-x 的文件夹结构,看看各个类放在什么地方,找一找常见的哪些宏和常量以及枚举定义在什么地方,这花不了多少时间,但能让你对cocos2d-x有更深刻的了解,同时给你很强的成就感。这种成就感冲淡了你面对大量源码时候的无力感,让你能够继续前行。

1.5 重复上面的第3步:再次学习DEMO

这时候看DEMO可能会轻松不少,但是你会有更多的问题去纠结。例如多分辨率支持?例如坐标系统?例如绘图功能?例如层级管理系统?例如事件传递系统?等等等等……这时候可以去Google(注意不要用百毒和其他搜索引擎)找文档看了。

1.5 重复上面的第3步:再次学习DEMO


这时候看DEMO可能会轻松不少,但是你会有更多的问题去纠结。例如多分辨率支持?例如坐标系统?例如绘图功能?例如层级管理系统?例如事件传递系统?等等等等……这时候可以去Google(注意不要用百毒和其他搜索引擎)找文档看了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
一般的高低床长宽多少 家用高低床尺寸一般是多少 学校高低床尺寸是多少 一般学生高低床是多少尺寸 高低床多少钱? CSGO刀和手套哪个先买?CSGO刀和手套出的概率一样吗? ...高考分是463,我有机会上西北民族大学或者是北方民族大学么?很急... 我是csgo的一个萌新想要氪一把刀求大佬推荐一款500到700的刀 您好,我的分数是437可以报预科兰州西北民族大学吗? CSGO的刀为什么这么贵?CSGO的刀会慢慢磨损吗? cocos2dx3.1 lua绑定c++类中怎么出错了 cocos2dx3.1 xcode 怎么新建文件,选择基类 求助Cocos2dx 3.1 读取Cocos Studio 1.6 的UI slider的问题 cocos2dx3.1怎么编译 cocos2dx 3.1 vs里怎么配置cocostudio Cocos2dx 3.1.1 半透明的Layer中如何实现屏蔽后面层的事件(屏蔽层)(不用CocoStudio的json文件)? cocos2dx中label为什么不支持中文 sap系统应该怎么选择 sap的后台主流的数据库一般都是oracle的吗?还有其他的数据库吗? 学SAP需要oracle数据库的知识和linux系统的知识吗? sap环境下搞db2的hadr是不是有特殊要求 sap ides with db2 如何扩展表空间 SAP 如何连接 DB2? 【C/C++】如何判断指针式malloc/new分配出来的 C语言中动态内存分配的问题 int * p=(int*)malloc(8) 这样理解对不对:(in C++语言中,new表示什么的关键字? "0x7c9308d3"指令引用的"0x01c17008"内存。该内存不能为"written"。 什么是嵌入式系统的好的C 内存分配器 0x77dl8d8a指令引用的0x003d84f4内存,该内存不能为read 动态声请内存,操作系统会做哪些事情? 求大神指导,如何在Mac上安装cocos2d—x,就是可以在Xcode中用的 cocos2dx创建APK时候遇到问题 请教cocos2dx怎么读取一个TXT文件并显示出 如何在eclipse下调试cocos2dx cocos2dx 一个中文多少个字节 怎么解决cocos2dx 中文路径 请问Access Control Lists(程序访问控制表)是什么? 设置登录路由器访问列表中 access-class 30 in 什么意思 关于访问控制列表 一个访问控制列表如下: access-list 100 permit ip 0.0.0.0 255.255.255.0 any 请问是什么意思? 关于访问控制列表ACL问题! ACL 访问控制列表 访问控制列表的in和out到底是怎么区别的 ADO.NET连接ACCESS数据库,连接字符串怎么写 求VC#.net用ADO.net连接Access数据库的实例 ADO.NET连不上Access数据库 ADO.NET访问Access数据库,IIS如何配置? ado.net小白求救(C#连access) C#,asp.net 链接access 向access中插入数据。求具体步骤。 寻找c#对access操作的示例