CCNODE 节点类

节点类是cocos2d-x一个主要的类,继承于CCObject。从游戏角度上来说,所有需要在屏幕上渲染的对象都是节点类。同时CCNode是cocos2d-x的渲染链,一般来讲Cocos2D-x同时只能渲染一个CCScene,因此CCScene是渲染的根节点。 在构建游戏时一般是:一个Scene中添加一个或者多个CCLayer;一个Layer中又添加多个CCSprite或者CCMenu;CCSprite中还可以添加CCParticleSystem(粒子系统)等等。这样就构建了一个渲染树,cocos2d-x遍历这个树,来将图像显示在屏幕上。渲染的过程之中层的各个Child按照zOrder排序,以保证渲染的正确性。

最常用的节点类包括:CCScene,CClayer,CCSprite,CCMenu这些都是必不可少的成员.

CCNode的特性是最简单,但是也是应用最广泛的,因为游戏中所有的对象都是他的子类,所以有必要搞清楚CCNode类的一些属性,其中有

  •   位置
  •   缩放尺寸
  •   旋转角度
  •   摄像机朝向
  •   模型网格
  •   锚点
  •   尺寸
  •   是否可见
  •   Z坐标
  •   openGL Z坐标

这些属性其实就是一个类中的一些成员变量.

有成员变量就一定会有成员函数。CCNode设置这些属性有三个最重要的三类成员函数

1,类对象的初始化和内容

2,时间回调函数

3,重载绘制函数

cocos2d-x作为一个强悍的游戏引擎,一个类所包含的类成员函数一定很多。我在这里只是介绍一些常用的函数

  •   addchild(ccnode* child);
  •   addchild(ccnode*child,int zorder);
  •   addchild(ccnode*child,int zorder,int tag);

addchild有三个这样的重载的函数 这个功能最多的用在CClayer这个子类中。

因为游戏中把相关的一些对象都放在一个CCLayer中显示,实际开发中程序猿创建一个CCLayer 然后通过静态函数创建一个CCSence添加到这个层中。

至于以后要具体要显示的精灵或者粒子系统又或者动作都是以CCNode的子类对象通过addchild函数添加到层中绘制

这里需要说明的是在二维平面世界除了X和Y轴以外 Z轴被用来描述的物体之间的遮挡关系也就是addchild函数的第二个参数 int zorder。这里需要记住的是一个CCNode的子类其Z轴坐标越小,就会离屏幕越远,这个对象被遮挡的可能性越大

  • virtual void onenter
  • virtual void onentertransitiondidfinish
  • virtual void onexit
  • virtual void onexittransitiondidstart

这些函数常常用在CCSence这个类中 onenter和onexit这两个函数主要是在进入场景和退出场景的时候做一些初始化工作和清理工作,这两个函数是只要切换场景时就会被自动调用的。

但是onentertransitiondidfinish和onexittransitiondidstart是否会被调用取决于在场景转换的时候时候使用的特效,也就是CCTransitionSence函数。

  • runAction(ccaction* action)

这个函数常常被使用在CCSprite类中。自己制作了一个动作,但是这个动作如果你不绑定一个精灵,你是无法看到实际的运动效果。

假设一个人是一个精灵my,你制作了一个跑步的动作run,需要时人来执行。

则调用:my->runAction(run);这样在游戏中,你就可以看到人走路的效果。

接下来要介绍的一个比较智能的函数,就是时间回调函数既和定时器有关的函数

  • void schedule(SE_SCHEDULE selector)

SE_SCHEDULE这个是一个选择器 类似于C++中的一个类函数指针的机制,用来创建一个函数指针。其实参数就是你需要定时需要执行的函数指针。

由于cocos2d-x继承了cocos2d-iphone的代码风格,因此它提供了一些Objective-c中创建选择器的语法宏,用来创建函数指针。

  • schedule_selector()
  • callfunc_selector()
  • callfuncN_selector()
  • callfunc_selector()

到这里已经介绍了需要介绍的CCNode的比较常用的内容和属性。需要说明的是:学好cocos2d-x就必须要搞清楚它的框架和继承关系,从根源学习到细末这里我只是介绍了简单和常用的函数具体其他的函数可以查阅相关专业书籍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值