CCActionManager】的更多相关文章

本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一.动作管理类 动作管理类CCActionManager是一个管理所有动作的单例,工作原理是:当CCNode执行runAction时,该函数会 把动作通过动作管理类的addAction函数将对象传递给CCActionManager的单例,该实例再把这个动作添加到自己的 动作序列中. 动作管理单例通过定时刷新自己的update方法,在这个方法中去调…
当CCnode执行runAction的时候,runAction会调用动作管理类的addAction方法将它自己执行的动作传递给动作管理类,动作管理类再将动作添加到自己的动作序列中. 动过管理类通过定时刷新自己的update方法,在update方法中调用自己的动作序列中的每一个动作的step,这些step根据自身的完成进度去update或是结束行为. 动作管理单例驱动每一个动作去更新自己的逻辑,而runAction只是将行为对象添加到动作管理类的待执行队列中去.当节点被清除或者行为结束时,动作管理…
Action是cocos2d-x中比较重要的概念,有一个庞大的类族.参见老G写的cocos2d-x学习笔记09:动作2:持续动作 除了各种包装器,剩下的主要是一些持续动作: CCMoveTo:移动到.CCMoveBy:按……移动CCJumpTo:跳跃到.CCJumpBy:按……跳跃CCBezierTo:贝兹移动到.CCBezierBy:按……贝兹移动CCRotateTo:旋转到.CCRotateBy:按……旋转CCScaleTo:缩放到.CCScaleBy:按……缩放CCSkewTo:切变到.C…
前两天和同事一起查一个游戏的闪退问题,log日志显示最后挂在CCNode* ActionNode::getActionNode()函数中的首行CCNode* cNode = dynamic_cast<CCNode*>(m_Object),由于不是必现bug,出现概率极低,单从代码来看,唯一的可能就是走到这里时m_Object已经为null了,所以才会挂出去.当然经过不懈努力,问题还是得以解决,这里mark一下,留作以后复习. 想方设法也无法重现的情况下,我们只能一步一步的分析UI动画的生命周期…
在前面的Cocos2D-x的概念类中,我们了解到节点类CCNode.导演类CCDirector.场景类CCScene.布景层类CCLayer和精灵类CCSprite等,这些类都是构成游戏画面的基本元素.特别是精灵类CCSprite,它是游戏的主要元素.记得在讲CCSprite时说过,它本质上就是一张二维的图片对象.这些图片对象被加载到游戏中,显示到屏幕中形成各种静态画面.但游戏除了静态画面,更多需要有动态效果(如动作.特效和动画),它将游戏角色性格和情绪活灵活现的表现出来.可以说,动态效果的好坏…
CCDirector类是游戏的组织和控制中心(总指挥),它控制着主屏幕的显示.场景的切换和显示,以及游戏的开始.结束和暂停.它的继承关系图如下:    CCDirector继承自基类CCObject,它还有一个子类CCDisplayLinkDirector,它是一个可以自动刷新的CCDirector.CCDirector包括的核心功能如下:    ·初始化OpenGL和设置OpenGL参数:    ·控制场景管理和切换:    ·设置Cocos2D的配置细节:    ·访问视图(OpenGL.U…
节点类CCNode在基本概念中并不存在,它是为了建立基本概念之间的关联关系而抽象出来的中间辅助类.这个类在Cocos2D-x中极为重要,它为概念类之间搭建了一座宏伟的桥梁.它的继承关系图如下:      从继承关系图知,CCNode是继承自基类CCObject,而场景CCScene.布景层CCLayer和精灵CCSprite都从它继承而来.它是一个抽象类,没有可视化的表示形式,但任何需要画在屏幕上的对象几乎都是从节点类CCNode继承而来.下面这张CCNode及子类继承图可说明这一点:     …
猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=281 注:自己以前也写过cocos2d-x如何优化内存的使用,以及内存不足的情况下怎么处理游戏.今天在微博中看到有朋友介绍了下内存,挺详细的.不知道是谁写的,我记录下. 一,IOS与图片内存 在IOS上,图片会被自动缩放到2的N次方大小.比如一张1024*1025的图片,占用的内存与一张1024*2048的图片是一致的.图片占用…
转自:http://blog.csdn.net/qq51931373/article/details/9152227 1.纹理控制. 看此代码: CCSprite *pSprite = CCSprite::create("ship.png"); ccTexParams params = {GL_NEAREST,GL_NEAREST,GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE}; pSprite->getTexture()->setTexParame…
自身以前也写过cocos2d-x如何优化内存的应用,以及内存不够的情况下怎么样处置惩罚游戏.今天在微博中看到有友好简介了下内存,挺详细的.不晓得是谁写的,我纪录下. 一,IOS与图片内存 在IOS上,图片会被积极缩放到2的N次方大小.例如一张1024*1025的图片,占用的内存与一张1024*2048的图片是一致的.图片占用内存大小的共计的公式是:长*宽*4.何等一张512*512 占用的内存即是 512*512*4 = 1M.其他尺寸以此类推.(ps:IOS上支持的最大尺寸为2048*2048…