2013年6月6日
摘要: CCAnimationCache类是一个单例,用于缓存所有动画和动画帧,代码如下:CCAnimationCache::sharedAnimationCache()->addAnimation(animation,"dance");CCAnimationCache *animCache =CCAnimationCache::sharedAnimationCache();CCAnimation *normal = animCache->animationByName("dance");利用sharedAnimationCache获取单例,利用ad 阅读全文
posted @ 2013-06-06 15:56 渡边Q 阅读(291) 评论(0) 推荐(0) 编辑
摘要: CCAction并不是一个在屏幕显示的对象,动作必须依托于CCNode类以及它的子类。动作包括:位置移动、跳跃、甚至对颜色的渐变。继承关系:CCAction三个子类:有限时间动作、跟随、移动速度。缓冲动作:Ease系列可以改变运动的速度,却不会改变总体时间,可分为三类:In actions:action(开始的时候加速);Outactions:action(结束的时候加速);InOut actions:action(开始和结束的时候加速);组合动作:CCSequence--定义一个动作序列,可以使用动作的CCArray数组;也可以把所有动作作为参数传入create函数中,最后结尾参数使用nul 阅读全文
posted @ 2013-06-06 14:17 渡边Q 阅读(1273) 评论(0) 推荐(0) 编辑
  2013年5月28日
摘要: 在游戏中,时常需要隔一段时间更新一些数据或者是人物位置,Cocos2D-x 中提供了这些时间调度的函数,所有CCNode 类的子类都有这样的函数。schedule(schedule_selector(SchedulerAutoremove::autoremove), 0.5f);unschedule(schedule_selector(SchedulerAutoremove::autoremove));这是一个按时调用一个函数的方法。第一个参数使用schedule_selector 选择器将autoremove 函数名称传进来。第二个参数是时间间隔。定义这个参数以后就会隔一段时间调用一次该函数 阅读全文
posted @ 2013-05-28 16:55 渡边Q 阅读(1300) 评论(0) 推荐(0) 编辑
摘要: 在游戏的实现过程中,有时会需要在某个游戏对象上的运动轨迹上实现渐隐效果。这种感觉就好像是类似飞机拉线的拖尾巴,在视觉上感觉很好,比如子弹的运动轨迹等,如果不借助引擎的帮助,这种效果往往需要通过大量的图片来实现。而Cocos2D-x 提供了一种内置的拖动渐隐效果类CCMotionStreak 来帮助我们实现这个效果。它是CCNode 类的子类。继承关系: 阅读全文
posted @ 2013-05-28 16:39 渡边Q 阅读(1794) 评论(0) 推荐(0) 编辑
摘要: Cocos2D-x 2.0 以后的版本,CCArray 取代了CCMutableArray。函数定义:CCArray *newArray = new CCArray(m_pControlPoints->count());不用确定存储对象的类型,因此每个对象的类型可以不相同,这也是CCArray 的一个特点。CCMutableDictionary 和CCDictionary 类似于哈希表的键值对应的容器, 同样, 在Cocos2D-x 2.0 之前的版本有CCMutableDictionary,2.0 以后的版本使用CCDictionary。函数定义:CCMutableDictionary 阅读全文
posted @ 2013-05-28 16:07 渡边Q 阅读(1107) 评论(0) 推荐(0) 编辑
摘要: 所有节点都拥有一个摄像机类CCCamera。只有通过摄像机类,节点才会被渲染出来。当节点发生缩放旋转和位置变化的时候,都需要覆盖CCCamera 类,让这个节点通过CCCamera 类重新渲染。(CCNode 类里有些方法可以实现缩放、旋转和位置变化,当使用摄像机类实现这些的时候,那些方法就不能同时使用了。使用摄像机类也不可以同时使用世界坐标了。)继承关系:Cocos2D-x 中的CCCamera 类使用OpenGL 的gluLookAt 函数来设置位置。gluLookAt 函数有三组关于坐标的参数,其中“Eye”系列的x、y、z 坐标参数是视角的位置,而“Center”系列的x、y、z 坐标 阅读全文
posted @ 2013-05-28 16:01 渡边Q 阅读(2684) 评论(0) 推荐(0) 编辑
摘要: 精灵类CCSprite 是一张二维的图片对象,它可以用一张图片或者一张图片的一块矩形部分来定义。类继承:纹理贴图集是将我们需要的部分图片放在一张大小固定的图片,可以节约内存。因为OpenGL 机制会把单张图处理成相应大小的长宽都是2 的n 次方的图片,所以把图片放在一起可以节约空间。贴图类CCTexture2D:贴图类CCTexture2D 是关于OpenGL 的概念。在OpenGL 中称图片为贴图,在Cocos2D-x 中CCTexture2D 就是图片对象的意思,可以通过它创建精灵等对象。CCTexture2D 类是精灵类和其相关类的基础。精灵批处理类CCSpriteBatchNode:当 阅读全文
posted @ 2013-05-28 14:42 渡边Q 阅读(1610) 评论(0) 推荐(0) 编辑
  2013年5月27日
摘要: CCLayer是CCNode的子类,在此基础上实现触屏时间代理协议。可以实现CCNode 类的功能,并且可以处理输入,包括触屏和加速度传感器。场景中可以有很多个布景层。继承关系如下:CCLayerColor是CCLayer的子类,有两个扩展功能:1)为布景层增添颜色。2)设置不透明度。CCLayerMultiplex:游戏一般分为两个部分:一方面是游戏界面部分,也就是UI部分。另一方面就是游戏本身部分。有时候UI有很多页面,在页面中用的图并不是很多,不需要使用切换场景,只需要把不同的页面做成不同的布景层,然后切换布景层。CCLayerMultiplex类就是用来“管理”这些布景层。CCMenu 阅读全文
posted @ 2013-05-27 22:01 渡边Q 阅读(642) 评论(0) 推荐(0) 编辑
摘要: CCScene类是CCNode的子类,只添加一个属于其自己的特性:有自己的锚点,位置在屏幕中央。继承关系:CCTransitionScene→CCScene→CCNode→CCObject→CCCopyingCCTransitionScene类负责切换场景,它有很多子类都是用于切换场景的特效。正常的无过渡场景,如果尚未建立场景(游戏中的第一个场景),使用runWithScene函数即可以使用相应场景;如果是替换场景,则使用replaceScene 函数替换相应的场景即可;而如果要使用场景间的切换效果,则需要使用相应的切换类 阅读全文
posted @ 2013-05-27 21:59 渡边Q 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 用来创建并且控制主屏幕的显示,同时控制场景的显示时间和显示方式。游戏中一般只有一个导演,控制游戏的开始、结束、暂停。此类为单例模式,调用标准方式:CCDirector::shareDirector()继承关系如下:CCDisplayLinkDirector→CCDirector→CCObject功能如下:1)初始化OpenGl会话。2)设置OpenGl的一些参数和方式。3)访问和改变场景以及访问cocos2d-x的配置细节。4)访问视图。5)设置投影和朝向。CCDisplayLinkDirector继承CCDirector,一个可以自动刷新的导演类,只支持1/60、1/30、1/15三种动画间 阅读全文
posted @ 2013-05-27 13:30 渡边Q 阅读(743) 评论(0) 推荐(0) 编辑