cocos2d-x 有关Node

Node与Node层级架构

树形结构
这里写图片描述

Node中的重要操作

  • 创建节点 Node* childNode=Node::create() (create静态函数)。
  • 增加新的子节点。node->addChild(childNode,0,123)。
    virtual void addChild(Node * child) 
    virtual void addChild(Node * child,int  localZOrder)
    virtual void addChild(Node * child,int  localZOrder,int tag )   
  • 查找子节点。node->getChildByTag(123)。
  • node->removeChildByTag(123,true)删除子节点,并停止所有该节点上的一切动作。
  • node->removeChild(childNode) 通过Node指针删除节点。
  • node->removeAllChildrenWithCleanup(true) 删除所有子节点,并停止这些子节点上的一切动作。
  • node->removeFromParentAndCleanup(true) 从父Node中删除节点,并停止所有节点上的一切动作。

Node中重要的属性

position与anchorPoint(锚点)

锚点的取值范围一般是0~1
锚点是
position点x坐标到矩形左边线的距离,与矩形x轴方向上的边长的比例;
position点y坐标到矩形下边线的距离,与矩形y轴方向上的边长的比例。

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

游戏循环与调度

每一个游戏程序都有一个循环在不断运行,它是由导演对象来管理和维护。如果需要场景中的精灵运动起来,我们可以在游戏循环中使用定时器(Scheduler)对精灵等对象的运行进行调度。因为Node类封装了Scheduler类,所以我们也可以直接使用Node中调用函数。

Node中调用函数主要有:
  • void scheduleUpdate(void) 。每个Node对象只要调用该函数,那么这个Node对象就会定时地每帧回调用一次自己的update(float dt)函数。(dt代表时间间隔)。
  • void schedule(SEL_SCHEDULE selector,float interval)。与scheduleUpdate函数功能一样,不同的是我们可以指定回调函数(通过selector指定),也可以更改需要指定回调时间间隔。
  • void unscheduleUpdate(void )。停止update(float dt)函数调度。
  • void unschedule(SEL_SCHEDULE selector)。也可以指定具体函数停止调度。
  • void unscheduleAllSelectors(void)。可以停止所有调度。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值