CCNode-+ CCScene | + CCLayer | + CCSprite | + CCMenu 任何可画的东西都是CCNode,CCNode的基本特点: 1. 一个CCNode可以包含多个CCNode . CCNode的基本操作:addChild, getChildByTag, removeChild .
2. 可以实现周期性的回调 . schedule, unschedule . 3. CCNode可以执行动作: runAction, stopAction .
我们写一个CCNode的子类意味着什么呢? - 覆盖初始化init. - "schedule callbacks" , (我们子类化一个CCNode, 回调函数将有什么影响呢?) - 覆盖node的绘制.
CCNode有哪些属性呢? - position - scale(x, y) 默认的是x=1, y=1; - rotation (in degrees, clockwise) 旋转; - CCCamera (an interface to gluLookAt), 怎么看这个CCNode就由CCCamera来决定. 默认的是CCNode的中心. - CCGridBase 基本的网格.有什么用呢? 怎么转换呢? - anchor point 什么叫锚点? - visible - size - z-order - openGL z position
可以看出, CCNode是一个共通的类, 它表示一个可画的目标, 它可以旋转,可以放大,有观察视角属性,有位置,可不可见, 有大小,并且可以与OpneGL 关联起来. 其中有3个属性是难以理解的: CCGrideBase, anchor point, z-order.
-------------------------------------------- 现在的问题就是: CCScene, CCLayer, CCMenu, CCSprite 他们都是CCNode 的子类, 他们在功能上有什么明显的不同? CCLayer主要是处理 事件接收, 加速响应. CCMenu 在运行时添加MenuItem. CCScene与CCNode差不多, 只是在锚点上有点不同. CCSprite来处理2d的图像.
|