Cocos2d-X开发学习笔记
文章平均质量分 54
寻水的鱼、、
博主擅长游戏开发,有十几年的游戏开发经验和从业经验。
展开
-
【Cocos2d-X开发学习笔记】第06期:渲染框架之精灵类(CCSprite)的使用
一、精灵类(CCSprite) 精灵类CCSprite是一张二维的图片对象,它可以用一张图片或者一张图片的一块矩形部分来定义。CCSprite和它的子类可以作为精灵批处理类的子项。它的继承关系如下图所示。1、CCSprite类主要保护的成员数据如下图所示。2、CCSprite类的主要公共函数如下图所示。 这里需原创 2013-07-23 22:48:27 · 4000 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第20期:网格动作类的使用
在这一期中,我们将会学习到一些引擎中非常炫的动作类,它们可不再仅仅是局限在2D画面的动作了,而是一些3D动作。网格动作类类似于特效,可以实现翻转、抖动、震荡、水波纹等效果。 一、网格动作类 在Cocos2D-X中,网格类的基类CCGridBase有两个子类,即CCGrid3D和CCTiledGrid3D。这两个类的共同点是,网格的每个子块都可以分离出来。C原创 2013-08-17 10:39:25 · 2842 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第21期:动画类(CCAnimate)的使用
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 之前我们已经学习过一些方法让节点“动”起来,Cocos2D-X中还有一种动作,就是动画类CCAnimate。要实现CCAnimate,还需要定义CCAnimation等类。在这一期中,我们主要使用两种方法原创 2013-08-17 15:10:02 · 5571 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第22期:事件处理机制之触屏事件
游戏主要是玩家和程序的交流。无论你的动画做得多么生动,特效做得如何炫,游戏还是要和玩家进行互动和交流。在智能手机中,主要的输入操作是通过触摸屏幕、重力感应等方式实现的,而输入文字主要通过虚拟键盘等实现的。下面就让我们一起来学习触屏事件的使用。 一、触屏事件 在Cocos2D-X中,继承自触屏代理协议CCTouchDelegate的布景层类CCLayer可以原创 2013-08-18 00:39:36 · 6551 阅读 · 2 评论 -
【Cocos2d-X开发学习笔记】第23期:事件处理机制之按键事件
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一、按键事件 使用IOS系统设备中只有Home键,按下Home键,程序进入后台。而使用Android系统的部分设备会有Menu键和返回键,因此有时需要检测设备的键盘输入,使用键盘事件代理CCKeypadD原创 2013-08-18 09:28:54 · 4642 阅读 · 1 评论 -
【Cocos2d-X开发学习笔记】第28期:游戏中音乐和音效的使用
UI在游戏中占有很重要的地位,但吸引玩家的除了这些看得到的界面和动画之外,游戏在后台中播放的背景音乐及游戏中打击、动作等音效的配合则会让游戏更受玩家的喜爱。在Cocos2D-X中也为我们封装了一个跨平台的、播放音频相关的类SimpleAudioEngine,下面就让我们一起来学习这个类。 一、音乐与音效 由于Cocos2D-X是跨平台的引擎,所以如果大家想通过原创 2013-08-29 21:55:27 · 3500 阅读 · 1 评论 -
【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)
一般游戏中都需要记录玩家数据,便于玩家下次登录时能够接着上次的游戏记录继续游戏。这样一来就需要我们在开发时对玩家数据进行存档与读档。对于游戏数据的存储,在不同手机操作系统下都有自己的存储方式,例如常见的SQLite等,在Cocos2D-X引擎中考虑到跨平台性,它也为开发者提供了跨平台的存储相关类CCUserDefault,那么这一期我们就一起来学习如何使用Cocos2D-X提供的CCU原创 2013-09-01 22:44:49 · 3487 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第30期:游戏中数据的存储(下)
一、对数据进行编解码 在上一期中,我们使用了CCUserDefault对游戏数据进行存储与读取,但是细心的我们肯定会想到,其游戏数据存储文件是否安全呢?通过上一期对CCUserDefault的讲解,想必大家也很容易看出Cocos2D-X是以键值对进行存储的,其存储方式其实是个xml文件,也就是说,游戏数据并不是那么安全。 这里我们一起来学习一个简单的对游戏数原创 2013-09-02 21:02:50 · 2743 阅读 · 2 评论 -
【Cocos2d-X开发学习笔记】第01期:PC开发环境的详细搭建
本文使用的是cocos2d-x-2.1.4版本 ,截至目前为止是最新稳定版 所谓的开发环境就是制作游戏的地方,打个比方读者就会十分清楚了。比如提到做饭,人们都会想到厨房。这是因为厨房有炉灶、烟机、水盆以及其他工具。这就是一个做饭的环境。很有有人会在卧室炒菜做饭吧!同样的,游戏开发也需要一个制作环境。这个环境包含了编辑器、程序库、打包工具以及设备连接。接下来就教大家开始原创 2013-07-13 15:24:08 · 6909 阅读 · 1 评论 -
【Cocos2d-X开发学习笔记】解决Cocos2d-X新建项目运行报错的问题
刚接触并学习Cocos2D-X游戏引擎的朋友,在搭建好PC的环境之后,然后开始创建、运行项目的时候可能都出现如下图所示的问题。在错误列表中也会出现如下图所示的错误提示。原因:主要是因为用以上的方法新建的项目没有包含在所需的库中,项目没有所依赖的库找到所依赖的文件,如CCCtdC.h,cocos2d.h头文件。下面就来说一下解决原创 2013-07-19 23:09:13 · 4850 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第03期:渲染框架之导演类(CCDirector)的使用
提到“导演”一词,想必读者最先联想到的是电影。作为娱乐产业,游戏领域和电影领域有很多类似之处,比如在游戏领域中,也存在制作人的职位。不过,此时提及的“导演”可不是一个人,而是在渲染框架中,有一个类充当着导演的角色。在开始介绍Cocos2D-X引擎中的“导演”之前,请大家先想想在电影行业中的导演,通常在一部电影中承担怎样的工作。 一、导演类 CCDire原创 2013-07-20 10:56:35 · 2992 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第04期:渲染框架之场景类(CCScene)的使用
被导演持有的场景对象,是第一个包含游戏内容的层次。但是就其本身来说,并不是包含任何实际的绘制内容。我们可以将场景看作是引擎中游戏画面划分当中一个重要的内容。它只是在游戏界面管理中发挥了重要的作用。场景通常不包含游戏逻辑,仅仅是做为一个容器,将不同的层组合到一起,最终呈现给玩家一个完整的画面。它代表了游戏运行中的一个状态,其包含的图层是更小一级的容器。图层中包含了游戏逻辑、用户响应及精灵原创 2013-07-22 21:13:30 · 2675 阅读 · 1 评论 -
【Cocos2d-X开发学习笔记】第02期:渲染框架之节点类(CCNode)的使用
从这一篇文章开始,我们将进入正题,开始学习Cocos2D-X中一些基础类的使用以及示例的详细讲解。 一、引擎框架 Cocos2D-X引擎的设计思路是将游戏的各个部分抽象成几个概念,包括导演、场景、布景层和人物精灵,它们之间的关系如下图所示。 几乎任何一款游戏中都会有这些概念,而游戏的复杂程度也就原创 2013-07-19 23:13:43 · 4648 阅读 · 3 评论 -
【Cocos2d-X开发学习笔记】第05期:渲染框架之布景层类(CCLayer)的使用
本系列学习教程使用的是cocos2d-x-2.1.4版本(截至目前为止最新稳定版) ,PC开发环境Windows7,C++开发环境VS2010 图层也是渲染框架中很重要的内容。场景类用来划分游戏的状态,图层就用来划分游戏画面。通常图层的尺寸会与屏幕的尺寸一致。它将会覆盖整个显示名目。所以所图层几乎包含了所有游戏内容。相比场景类,它为玩原创 2013-07-21 21:49:18 · 3310 阅读 · 1 评论 -
【Cocos2d-X开发学习笔记】开发工具之Tiled地图编辑器的使用
Cocos2D-X支持Tiled地图编辑器生成的地图数据文件。Tiled地图编辑器是一个以普遍使用为目标的地图编辑器,它使用简单并且可以轻松地在不同的引擎中使用。目前最新版本使用Qt框架进行开发,之前也有Java版本,目的就是可以使编辑器跨平台。这点在Cocos2D-X的开发中也比较重要。因为Cocos2D-X的跨平台特性,可能导致用户所使用的操作系统各不相同。为了让大家都可以看到地图原创 2013-08-19 11:39:27 · 10210 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第19期:动作管理类(CCActionManager)的使用
一、动作管理类 动作管理类CCActionManager是一个管理所有动作的单例,工作原理是:当CCNode执行runAction时,该函数会把动作通过动作管理类的addAction函数将对象传递给CCActionManager的单例,该实例再把这个动作添加到自己的动作序列中。 动作管理单例通过定时刷新自己的update方法,在这个方法中去调用行为序列中每原创 2013-08-16 21:36:05 · 3818 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第18期:动作类之改变动作对象、函数回调动作以及过程动作的使用
一、改变动作执行对象 CCTargetedAction类可以改变动作的执行对象。一般默认的动作执行对象是调用runAction的对象。有时候要自定义动作执行对象,这时候需要使用CCTargetedAction。二、函数回调动作 有时候某些动作完成后,需要执行一些数据上的处理,比如攻击一个敌人,需要处理加减血等。这时原创 2013-08-16 13:38:06 · 2751 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第17期:动作类之跟随动作、可调整速度动作以及动作延时的使用
一、跟随动作跟随动作CCFollow是一个节点跟随另外一个节点的动作。二、可调整速度动作 可调整速度动作CCSpeed不是一个独立的动作,可以把它理解为是对目前动作的“包装”,经过这个“包装”以后,就可以实现“慢动作”和“快进”的效果。 使用CCSpeed来处理很方便三、动作延时原创 2013-08-15 21:46:02 · 4364 阅读 · 3 评论 -
【Cocos2d-X开发学习笔记】第07期:渲染框架之摄像机类(CCCamera)的使用
一、摄像机类 所有节点都拥有一个摄像机类CCCamera。只有通过摄像机类,节点才会被渲染出来。当节点发生缩放旋转和位置变化的时候,都需要覆盖CCCamera类,让这个节点通过CCCamera类重新渲染。注意:CCNode类里有些方法可以实现缩放、旋转和位置变化,当使用摄像机类实现这些的时候,那些方法就不能同时使用了。使用摄像机类也不可以同时使用世界坐标了。原创 2013-07-24 21:00:31 · 7769 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第09期:渲染框架之菜单类(CCMenu)的使用
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一、菜单项(CCMenuItem) 菜单项CCMenuItem是一个基类,它的子类可以加入CCMenu中形成菜单。CCMenu类的继承关系如下图所示。 CCMenuItem类是原创 2013-08-03 11:54:01 · 2463 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第10期:渲染框架之几何图形的绘制
一、图形的绘制 有时为了调试游戏,我们常常会需要绘制一些简单的几何图形,比如点、直线或者圆圈。这些几何图形颜色颜色简单,样式单一,很少出现在游戏画面中,Cocos2D-X引擎提供了一个绘制几何图形的类CCDrawingPrimitives。我们可以使用它来绘制几何图形,用于调试游戏画面。 注意:因为类CCDrawingPrimitives纯粹是为了调试游戏而存在原创 2013-08-04 19:34:26 · 2931 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第11期:时间调度schedule函数的使用
对于一个游戏而言,只存在精灵、层、场景等元素是不完整的,而缺少的正是这些元素的逻辑。例如精灵移动的逻辑、动画逻辑、碰撞逻辑等,而这些逻辑一般情况下是需要及时做出反馈的,所以我们这些逻辑将放置在更新函数中不停地循环判定。 一、scheduleUpdate函数 此函数是CCNode的函数,每个CCNode只要调用scheduleUpdate()更新函数,那么这个原创 2013-08-04 20:53:04 · 4791 阅读 · 2 评论 -
【Cocos2d-X开发学习笔记】第12期:动作类CCAction的详细讲解
一般对于游戏中的精灵而言,它们不仅仅是存在于场景中,而且是动态展现的,例如,精灵移动的动态效果、动画效果、跳动效果、闪烁和旋转动态效果等。每一种效果都可以看成是精灵的一个动作。 一、动作类(CCAction) 和之前介绍的内容不同,Cocos2D-X的动作类CCAction并不是一个在屏幕中显示的对象,动作必须要依托于CCNode类及它的子类的实例才能原创 2013-08-05 21:37:24 · 4551 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第24期:事件处理机制之加速度传感器事件
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 智能手机的游戏与应用中,也经常会用到加速传感器事件来丰富用户的操作,比如赛车游戏中摇动手机控制前进方向、动作过关游戏中通过加速度传感器来控制角色的移动和跳跃方向等。那么这一期,我们就来学习一下如何使用加速度原创 2013-08-18 12:37:16 · 3218 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第25期:游戏背景之瓦片地图集类(CCTMXTiledMap)的使用
一、瓦片地图集类CCTMXTiledMap 瓦片地图集类CCTMXTiledMap是Cocos2D-X中支持Tiled地图编码数据文件形式的类,用于解析地图集的数据文件。CCTMXTiledMap类的继承关系如下图所示。 瓦片地图集类具有如下几个特性。 每个图素都是一个精灵类。 每个图素的精灵类在需要时调用tileAt函数被创建。 每个图素都可以进行原创 2013-08-19 11:41:58 · 4287 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第15期:动作类之摄像机动作和基本样条动作的使用
一、摄像机动作 在前面我们学习过了摄像机类CCCamera,动作中也有一个摄像机类CCOrbitCamera,它是摄像机环绕屏幕中心旋转所形成的动作。注意 :在使用摄像机旋转时,如果正在旋转的这个节点后面还有其它节点的话,可能会出现旋转的节点只有一部分显原创 2013-08-10 13:04:05 · 3462 阅读 · 2 评论 -
【Cocos2d-X开发学习笔记】第13期:动作类之基本动作的使用(上)
一、基本动作 1、CCAction的子类CCFiniteTimeAction分为瞬时动作(CCActionInstant)和延时动作(CCActionInterval),其中瞬时动作(CCActionInstant)的子类见下图所示。 瞬时动作,顾名思义,就是直接调用结果的动作,这中间不产生任何动画效果。 2、延时动作(CCActionInterval)原创 2013-08-07 20:27:41 · 2453 阅读 · 1 评论 -
【Cocos2d-X开发学习笔记】第26期:游戏背景之滚动地图背景(CCParallaxNode)的使用
在现实生活中,当我们身处一辆快速行驶的车上,用眼睛向窗外眺望的时候,可以很清晰地感觉到离车越远的风景移动越慢,而离车越近的风景则会移动越快的视觉差异。 这种视觉差不仅在现实生活中适用,在游戏开发中也经常对地图或者背景采取视觉差的运动规律,让游戏背景或地图移动的时候显得更加真实。 一、视觉差效果类CCParallaxNode 在Cocos2D-X引擎中,也为开发者原创 2013-08-22 13:25:06 · 5520 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第27期:游戏背景之贴图地图类(CCTileMapAtlas)的使用
一、贴图地图类CCTileMapAtlas除了利用CCTMXTiledMap类创建地图对象外,还有一种创建地图的方法,就是使用贴图地图类CCTileMapAtlas。CCTileMapAtlas类的继承关系如下图所示。CCTileMapAtlas类的常用函数见下图所示。二、项目实例1、首先新建Cocos2D-X项目,取原创 2013-08-22 13:54:21 · 2650 阅读 · 0 评论 -
【Cocos2d-X开发学习笔记】第16期:动作类之缓冲动作和组合动作的使用
一、缓冲动作 在实现运动中,常常需要一些加速度或者减速度的效果。Cocos2D-X引擎为我们提供了相应的实现接口,这样就不用再用原来的公式计算方法来实现加减速的效果。 Ease系列的方法改变了运动的速度,但是并没有改变总体时间。如果整个动作持续5s,那么整个时间仍然会持续5s。这些动作可以分为三类。 In actions:action(开始的时候原创 2013-08-15 11:01:05 · 4069 阅读 · 2 评论 -
【Cocos2d-X开发学习笔记】第14期:动作类之基本动作的使用(下)
一、跳跃动作 1、首先看CCJumpTo和CCJumpBy的使用。 CCJumpTo::create(float duration,const CCPoint& position,float height,int jumps)作用:创建一个跳跃的动作。参数1:跳跃到目标位置所需的时间(秒)。参数2:目标位置。参数3:跳的高度。参数4:跳到目标点所需跳的次数。原创 2013-08-08 22:13:24 · 2387 阅读 · 0 评论