【Cocos2d-x v3.2示例】Node及NodeTest

2015年03月24日 11:27 0 点赞 0 评论 更新于 2025-11-21 18:24

一、Node类

Node 是 Cocos2d-x 中最为常用且极为重要的一个类,许多其他类都继承自它,由于数量众多,这里就不一一列举了,因此有必要深入理解该类。

Node 类概述

Node 是场景元素的基类,场景中的元素大多是 Node 的子类,常见的子类包括 Scene(场景)、Layer(层)、Sprite(精灵)、Menu(菜单)和 Label(标签)等。

Node 主要特性

  1. 容器功能:Node 可以作为容器,用于添加和删除其子类对象。可以使用 addChild 方法添加子节点,通过 getChildByTaggetChildByName 方法获取子节点,使用 removeChild 方法移除子节点。
  2. 定时回调:Node 能够定期安排执行回调函数。可以使用 schedule 方法来安排回调函数的执行,使用 unschedule 方法取消回调函数的执行。
  3. 动作执行:Node 可以执行各种动作。可以使用 runAction 方法来运行动作,使用 stopAction 方法停止动作。

Node 子类注意事项

  1. 初始化资源与回调函数:子类需要重载 init 方法,在该方法中进行资源的初始化和回调函数的设置。
  2. 处理更新:创建回调函数来处理节点的更新逻辑。
  3. 渲染操作:子类可以重载 draw 方法,在该方法中进行自定义的渲染操作。

Node 的基本属性

  1. 位置(position):默认位置为 x = 0y = 0
  2. 缩放(scale):默认缩放比例为 1。
  3. 旋转(rotation):默认旋转角度为 0,旋转方向为顺时针。
  4. 锚点(anchor):默认锚点为 (0, 0)
  5. 内容大小(contentSize):默认内容大小为 (0, 0)
  6. 可见性(visible):默认是否可见属性 visibletrue

限制点

Node 可以看作是一个“空的”物体,如果需要在屏幕上绘制一些内容,需要继承 Node 类,或者使用 Sprite 类(Sprite 也是继承自 Node),并在子类中重载 draw() 函数,在该函数中进行具体的绘制操作。