罗嗦几句,本系列文章记录了小鱼(本人)自学Cocos2D-X的整个过程,主要从分析Cocos2D-x的源码方式来学习Cocos2d-x这样一个优秀的游戏引擎架构,本着不但要知其然还要知其所以然的学习态度来揭开Cocos2d-x的奥秘。阅读本文要求读者有一定的C++程序经验。

一、Cocos2d-x是啥玩意

  小鱼是听同事介绍,当前开发手机2d游戏多采用cocos2d-x引擎,开源且可以实现跨手机平台的快速移植,听到有这种神器,向百度求助好多介绍cocos2d-x的文章,在这里我不去引用了大家可以去百度,只是知道一点cocos2d-x是可以在多种操作系统下来开发2d游戏的一个引擎就可以了。

二、Cocos2d-x开发环境的搭建

  继续百度找到了一大堆关于cocos2d-x在windows环境下的搭建的文章,这里也不要赘述了。

  到官网 http://www.cocos2d-x.org/ 下载了最新版本的cocos2d-x3.0(要学就学新的cocos2d-x2.0,1.0都跳过了)

  解压在build文件夹里面找到了cocos2d-x在vs2012编译器下面的解决方案cocos2d-win32.vs2012.sln

  小鱼还在使用古老的vs2003没办法下载一个安装了一下vs2012(界面好丑,一点也不习惯 忍了)

  打开解决方案,编译,等了近10分钟全部编译通过。

三、从示例程序开始

在解决方案中可以看到如下的几个工程

从命名上可以看队形很整齐,简单的浏览一下

Cpp-empty-test  应该是一个空的项目示例

Cpp-tests                    应该是测试单元之类的东东,运行一下,原来是各种示例程序以后进行cocos2d-x程序开发应该会经常到这些示例程序里面来找代码片段了。

libAudio              应该是封装音频播放功能的库

libBox2D              毫无疑问 box2d物理引擎的封装

libchipmunk       也是一个物理引擎的封装

libcocos2d          从名称上看应该是我们要着重了解的Cocos2d-x库

libCocosBuilder  应该是与cocosBuilder有关系的东西,具体是什么碰到了再去深入了解

libCocosStudio   在官网下载cocos2d-x时看到了cocosstudio这个库应该是与cocos studio有关系的

libExtensions     应该是一些扩展,展开文件去看一下,有关于Gui 和一些debug的工具

libGUI               UI库,展开UIWidgets可以看到这个ui库有 Button,CheckBox, ImageView,LoadingBar等一些控件,还有富文本控件 RichText,太好了,游戏开发都会用到。

libLocalStorage  打开文件扫几点,是对 sqlite 操作的封装。应该是支持数据持久化的库。

  liblua                 对Lua的支持库

  libNetwork        对网络的支持,展开扫一眼头文件,有对http,socket,websocket的支持,很给力。

  libSpine                  看了一下文件大概内容,应该是一些对cocos2d-x工具支持库碰到再说。

  lua-empty-test   lua项目的空工程

  lua-tests                lua应用的示例程序

  一共16个工程,核心是libcocos2d工程,从 cpp-empty-test的示例工程入手应该容易一些。

  运行一下cpp-empty-test

  

  看到了熟悉的 Hello World 下面我就从这里入手啦。

Cocos2d-X3.0 刨根问底(一)----- 概览的更多相关文章

  1. 如何在Cocos2D 1.0 中掩饰一个精灵(六)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 掩饰一个精灵:实现代码 打开HelloWorldLayer.m并 ...

  2. 如何在Cocos2D 1.0 中掩饰一个精灵(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 原帖来自Ray Wunderlich写的精彩的文章 How To ...

  3. Cocos2D v2.0至v3.x简洁转换指南(三)

    Cocos2D 3.3中的注意事项 如果你在使用Cocos2D 3.3+(是SpriteBuilder 1.3+的一部分)你将不得不替分别的换所有存在的UITouch和UITouchEvent为CCT ...

  4. Cocos2D v2.0至v3.x简洁转换指南(二)

    触摸处理 我们在稍后将完成Cocos2d 3.0中触摸处理的完整教程.而现在最重要的是知道如何去启用触摸处理在你的CCNode中: self.userInteractionEnabled = TRUE ...

  5. 如何将各种低版本的discuz版本升级到discuz x3.0

    最近在做discuz改版的项目,遇到了很多问题,相信很多拥有discuz论坛的版主,站长和程序猿在升级或改版discuz的过程中遇到过和我一样的问题,所以我开了一个discuz专栏,为大家讲解一下di ...

  6. cocos2d 2.0和UIKit混合编程, Push CCDirector的时候出现黑屏的天坑

    症状 使用cocos2d 2.0和UIKit混合编程, 有一块用cocos2d编写的小程序, 将CCDirector push到一个UINavigationController里面. 虽然事先在后台初 ...

  7. cocos2d-x3.0创建第一个jsb游戏

    第一步: 最新的cocos2d-x.下载地址https://github.com/cocos2d/cocos2d-x github上最新的引擎,值得注意的是官网上发布的引擎是稳定版.选择哪种就看个人喜 ...

  8. Cocos2d-X3.0 刨根问底(四)----- 内存管理源码分析

    本系列文章发表以来得到了很多朋友的关注,小鱼在这里谢谢大家对我的支持,我会继续努力的,最近更新慢了一点,因为我老婆流产了抽了很多时间来照顾她希望大家谅解,并在此预祝我老婆早日康复. 上一篇,我们完整的 ...

  9. Cocos2d-X3.0 刨根问底(二)----- 从HelloWorld开始

    小鱼习惯直接从代码实例来学习一套成型的引擎库. 运行cpp-empty-test 一个典型的HelloWorld程序翻看代码结构 看到了 main.h与main.cpp文件就从这里开始 #ifndef ...

随机推荐

  1. Treap(树堆):随机平衡二叉树实现

    本文是根据郭家宝的文章<Treap的原理及实现>写的. #include<stdio.h> #include<string.h> #include<stdli ...

  2. Android Studio系列教程四--Gradle基础

    Android Studio系列教程四--Gradle基础 2014 年 12 月 18 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://stormzhang ...

  3. C# 使用正则表达式去掉字符串中的数字,或者去掉字符串中的非数字

            /// 去掉字符串中的数字           public static string RemoveNumber(string key)           {            ...

  4. python案例-用户登录

    要求: •输入用户名密码 •认证成功后显示欢迎信息 •输错三次后锁定 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 "" ...

  5. 客户端缓存(Client Cache)

    通常在服务器端大家都已经做了很多缓存的工作,ASP.NET CACHE也好MemeryCache也好却总是忽略了客户端缓存. 因为大家都知道不管哪个client都会缓存已经访问过的站点,但是浏览器缓存 ...

  6. 开源(免费)三维 GIS(地形,游戏)

    先写想法: 想做个简单的地形漫游,于是考虑在ww直接开发,或找个控件形式的开发组件. 最大的期望有: 1. 支持google的sketchup,快速智能三维建模 2. 设计模式做好点,最好先做成组件形 ...

  7. Virtualbox下Ubuntu与主机Win7共享文件夹

    记下来,免得老google. 1. 在虚拟机设置里设置好win7的共享文件夹位置:如c:\share 2.确定ubuntu下需要共享的文件夹,如~/linuxshare.注意,此文件夹名字必须与win ...

  8. Android:支持多选的本地相册

    前段时间在做一个动态发布功能,需要用到图片上传.一开始直接调用的系统相册和相机,由于系统相机不支持多选,就花点时间做了个本地相册,在此开源下. 先上截图,依次为选择相册界面.相册详情界面.查看图片大图 ...

  9. Java系列,《Java核心技术 卷1》,chapter 13,集合

    13.1.2 Java类库中的集合接口和迭代器接口     删除元素,对于next和remove的调用是互相依赖的,如果调用remove之前没有调用next,则会跑出IllegalStateExcep ...

  10. Java系列:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

    Javaweb工程类中没有添加Tomcat运行时相关类导致. 下面是具体的解决方法: 1.右击web工程->属性或Build Path->Java Build Path->Libra ...