1.CC_CALLBACK_0,CC_CALLBACK_1,CC_CALLBACK_2,CC_CALLBACK_3(数字表示有几个不可变参数)
这几个宏定义的作用是绑定函数并返回该函数的指针函数。
它们的区别在于不可变参数的个数不同
如果不可变参数个数为0,那么我们使用CC_CALLBACK_0,以此类推。
如何确定不可变参数的个数?
这要根据这个宏所传递给的函数的参数(函数指针)所指向函数类型的参数个数。
可变参数:我们可以随意传递可变参数(任意个,任意类型),在CC_CALLBACK_N()里this后,给参数传值。
2.节点(Node):用于显示一些对象,基本上都是节点类对象或节点类的子类对象;Scene,Layer,Sprit,Label等这些都是节点类的子类。
节点类的特征:
(1)一个父节点可以拥有多个子节点,而一个子节点只能有一个父节点。
(2)节点们可以设置位置(SetPosition)
(3)节点可以设置缩放(setScale)
(4)节点可以设置旋转角度(setRotation)
(5)节点可以设置颜色(setColor)
(6)节点可以设置是否可见(setVisible)
(7)节点可以设置zOrder(setLocalZOrder)
(8)节点可以设置尺寸 (setcontentSize)(九宫格效果明显)
(9)节点可以设置锚点(setAnchorPoint)(注意:Layer的锚点为(0.5,0.5),但是它默认是忽略的,忽略锚点以后,相当于将该节点的左下角作为锚点进行setPosition)
(10)节点可以设置是否忽略锚点(ignoreAnchorPointForPosition)
(11)节点可以设置Tag值(setTag)
(12)节点可以设置name(setName)
3.坐标系
(1)屏幕坐标系:原点为屏幕的左上角
(2)OpenGl坐标系:原点在屏幕的左下角(COCO2D坐标系与其一致)
(3)世界坐标系:与OpenGL坐标系一致
(4)本地坐标系:(节点坐标系)相对于父节点而言的,以父节点左下角为原点。
4.坐标转化
(1)converToWorldSpace()把本地坐标系转化为世界坐标系
(2)converToNodeSpace()把世界坐标系转化为本地坐标系
5.父节点属性的改变会传递给子节点