节点解释: 节点是场景图的基本元素。场景图的基本元素必须是节点对象或者是节点对象的子类。

其中主要可以看到Layer、MenuItem、Scene、Sprite、TMXTiledMap(解析and渲染TMX地图)、ParticleSystem(粒子系统基类)等等

Node是这些类的根类

节点的基本操作

  • 创建节点
       Node* childNode = Node::Create();
  • 增加新的子节点
       node->addChild(childNode,z深度,tag);
  • 查找子节点
       Node* node=node->getChildByTag(tag)
  • node->removeChildTag(tag,true)删除子节点,并停止所有该节点上的一切动作
  • node->removeChild(childNode)通过Node指针删除节点
  • node->removeAllChildrenWithCleanup(true)删除所有子节点,并停止这些子节点上的一切动作
  • node->removeFromParentAndCleanup(true) 从父Node中删除节点,并停止所有该节点上的一切动作

Node的重要属性

  • anchorPoint锚点
    锚点指定了贴图上和所在节点原点(也就是设置位置的点)
    锚点的默认值是(0.5,0.5),表示的并不是一个像素点,而是一个乘数因子。(0.5,0.5)表示锚点位于贴图长度乘以0.5和宽度乘以0.5的地方,即贴图的中心。
    改变锚点的值虽然可能看起来节点的图像位置发生了改变,但其实并不会改变节点的位置,其实变化的只是贴图相对于你设置的位置的相对位置,相当于你在移动节点里面的贴图,而非节点本身。
    position=(5,5),anchorPoin=(0.5,0.5)

    position=(5,5),anchorPoin=(0,0)

    position=(5,5),anchorPoin=(0.66,0.5)

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

Node中调用函数主要有

  • void ScheduleUpdate(void)每个Node对象只要调用该函数,那么这个Node对象会定时地每帧回调用一次自己的update(float dt)函数
  • void schedule(SEL_SCHEDULE selector,float interval)与scheduleUpdate函数功能一样,不同的是我们可以指定回调函数(通过selector指定),也可以更加需要指定回调时间间隔
  • void unscheduleUpdate(void) 停止update(float dt)函数调度
  • void unscheduleAllSelectors(void)可以停止调度

cocos2d-x 3.0 Node与Node层级结构的更多相关文章

  1. Cocos2d-x Lua Node与Node层级架构

    Cocos2d-x Lua采用层级(树形)结构管理场景.层.精灵.菜单.文本.地图和粒子系统等节点(Node)对象.一个场景包含了多个层,一个层又包含多个精灵.菜单.文本.地图和粒子系统等对象.层级结 ...

  2. cocos2d-x中Node与Node层级架构

    Cocos2d-x采用层级(树形)结构管理场景.层.精灵.菜单.文本.地图和粒子系统等节点(Node)对象.一个场景包含了多个层,一个层又包含多个精灵.菜单.文本.地图和粒子系统等对象.层级结构中的节 ...

  3. error eslint@5.12.0: The engine "node" is incompatible with this module.

    初始化 react项目时报错: error eslint@5.12.0: The engine "node" is incompatible with this module. E ...

  4. windows平台 - 0基础学习node.js(一)

    首先得明白node.js做什么用的: 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Nod ...

  5. k8s1.13.0二进制部署-node节点(四)

    Master apiserver启用TLS认证后,Node节点kubelet组件想要加入集群,必须使用CA签发的有效证书才能与apiserver通信,当Node节点很多时,签署证书是一件很繁琐的事情, ...

  6. 高屋建瓴 cocos2d-x-3.0架构设计 Cocos2d (v.3.0) rendering pipeline roadmap(原文)

    Cocos2d (v.3.0) rendering pipeline roadmap Why (the vision) The way currently Cocos2d does rendering ...

  7. [Node.js] Node + Redis 实现分布式Session方案

    原文地址: http://www.moye.me/?p=565 Session是什么? Session 是面向连接的状态信息,是对 Http 无状态协议的补充. Session 怎么工作? Sessi ...

  8. node --experimental-modules & node.js ES Modules

    node --experimental-modules & node.js ES Modules how to run esm modules in node.js cli $ node -v ...

  9. nohup /usr/local/node/bin/node /www/im/chat.js >> /usr/local/node/output.log 2>&1 &

    nohup和&后台运行,进程查看及终止   &后台运行 登出ssh终端,进程会被自动kill掉 但是nohup >>XX.log 2>&1 & 登出终 ...

随机推荐

  1. 监控系统 - mk-livestatus

    /usr/bin/unixcat /usr/lib64/check_mk/livestatus.o /etc/xinetd.d/livestatus service livestatus { type ...

  2. java之操作mysql常用方法

    一般引用mysql-connector-java这个包. package DBManager; import java.sql.Connection; import java.sql.DriverMa ...

  3. 通过Exception获取其中的信息

    private static String getCrashMessage(Exception ex) { Writer writer = new StringWriter();        Pri ...

  4. ES6相关特性(let & const)

    [ecma-262/8.0]http://www.ecma-international.org/ecma-262/8.0/index.html 1.Let & const let 的三个特性: ...

  5. Bloom Filter (海量数据处理)

    什么是Bloom Filter 先来看这样一个爬虫相关问题:文件A中有10亿条URL,每条URL占用64字节,机器的内存限制是4G,现有一个URL,请判断它是否存在于文件A中(爬过的URL无需再爬). ...

  6. simotion读写CF卡,保存/读取变量

    simotion读写CF卡功能 1 使用西门子的Simotion运动控制器时,有时需要用到 读/写 CF卡的功能.主要来自以下几个方面的需求. 1)用户数据量较大,可保持(retain)存储区的容量不 ...

  7. 【Tim Sweeney】Why C++ for Unreal 4?

    The first three generations of the Unreal Engine included a sandboxed scripting language, UnrealScri ...

  8. Codeforces 758B Blown Garland

    题目链接:http://codeforces.com/contest/758/problem/B 题意:一个原先为4色环的链子少了部分,要你找出死的最少的一种可能,各输出四种颜色的死了多少. 分析:就 ...

  9. 种类并查集,Poj(1703)

    题目链接:http://poj.org/problem?id=1703 第一次做种类并查集,有的地方还不是很清楚,想了一上午,有点明白了,这里记录一下. 这里我参考的红黑联盟的题解. 关键:种类并查集 ...

  10. 抽象类和final

    抽象类: 概念:在继承过程中,形成一个继承金字塔,位于金字塔底部的类越来越具体(强大),位于塔顶的越来越抽象(简单). 关键字  :abstract 抽象类特性: [1]抽象类过于抽象,实例化后无语义 ...