本文共 4139 字,大约阅读时间需要 13 分钟。
最经常使用的节点类包含场景类(CCScene)、布景层类(CCLayer)、人物精灵类(CCSprite)、菜单类(CCMenu)。
CCNode类包含的主要功能例如以下:)
在网格特效(会在后面的章节介绍)使用的时候,网格特效能够获得屏幕中绘制的内容,而且对获得的屏幕内容进行渲染。这一点在游戏中须要一些全屏特效的时候能够使用。
CCNode是Cocos2d-x画图的基本单位。CCScene、CCLayer、CCMenu、CCSprite都继承自CCNode,CCNode节点都具有下面特征:
1、每一个节点都能够通过addChild方法包括子节点、通过removeChild删除节点。 2、每一个节点的子节点都能够设置标记,通过getChildByTag来获取节点。 3、每一个节点都能够运行计划任务,在Cocos2d-x的系统循环中处理这些任务。 4、每一个节点都能够通过runAction运行瞬时动作和延时动作。 5、每一个节点加入到场景中,当所在场景为激活场景时,这个节点的画图方法会被自己主动调用完毕自我绘制。class CC_DLL CCNode : public CCObject { protected://属性列表 float m_fRotationX; ///x轴旋转角度 float m_fRotationY; ///y轴旋转角度 float m_fScaleX; ///x轴缩放比例 float m_fScaleY; ///y轴缩放比例 float m_fVertexZ; ///z轴设置 CCPoint m_obPosition; ///节点坐标 float m_fSkewX; ///x轴扭曲角度 float m_fSkewY; ///y轴扭曲角度 CCPoint m_obAnchorPointInPoints; ///锚点坐标 CCPoint m_obAnchorPoint; ///缺省锚点坐标 CCSize m_obContentSize; ///节点大小 CCAffineTransform m_sAdditionalTransform; ///变换信息 CCAffineTransform m_sTransform; ///变换信息 CCAffineTransform m_sInverse; ///变换信息 CCCamera *m_pCamera; ///摄像头对象 CCGridBase *m_pGrid; ///网格对象 int m_nZOrder; ///Z轴设置,影响图层顺序 CCArray *m_pChildren; ///全部子节点 CCNode *m_pParent; ///所在父节点 int m_nTag; ///当前节点标识 void *m_pUserData; ///用户调用指针 CCObject *m_pUserObject; ///用户调用对象 CCGLProgram *m_pShaderProgram; ///OpenGL shader ccGLServerState m_eGLServerState; ///OpenGL servier side state unsigned int m_uOrderOfArrival; /// CCScheduler *m_pScheduler; ///调度类完毕计划任务调度 CCActionManager *m_pActionManager; ///动作管理器 bool m_bRunning; ///标识当前节点是否在执行 bool m_bTransformDirty; ///< transform dirty flag bool m_bInverseDirty; ///< transform dirty flag bool m_bAdditionalTransformDirty; /// bool m_bVisible; ///标识当前节点是否可见 bool m_bIgnoreAnchorPointForPosition; ///在CCLayer和CCScene中使用 bool m_bReorderChildDirty; ///记录子节点的 dirty flag int m_nScriptHandler; ///在Javascript 和 Lua 编程使用 int m_nUpdateScriptHandler; ///在Javascript 和 Lua 编程使用 ccScriptType m_eScriptType; ///标识Javascript或Lua 脚本 CCComponentContainer *m_pComponentContainer; ///组件字典 ....... }
-坐标 position
-缩放 scale (x, y) -旋转rotation (in degrees, clockwise) -摄像机CCCamera (an interface to gluLookAt ) -网格 CCGridBase (to do mesh transformations) - 锚点anchor point - 尺寸size - 可见性visible - 层次设定z-order - openGL z轴位置 这些属性的缺省值设定例如以下: - 旋转rotation: 0 - 坐标position: (x=0,y=0) - 缩放scale: (x=1,y=1) - 尺寸contentSize: (x=0,y=0) - 锚点anchorPoint: (x=0,y=0) - 一个新的CCNode对象没有不论什么纹理 在CCNode对象创建完毕的时候。能够实现下面操作: 1、变换坐标 translated (position) 2、变化角度rotated (rotation) 3、变换尺寸 scaled (scale) 4、变换显示状态 (camera) http://book.2cto.com/201304/19781.html本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5206198.html,如需转载请自行联系原作者