我学cocos2d-x (三) Node:一切可视化对象的祖先
2023-09-14 09:08:54 时间
在cocos2d-x中一切可视化的对象都继承自Node(如文字(label)、精灵(sprite)、场景(scene)、布局(layer))。这是一个纯虚类。主要负责决定元素显示的位置。
由导演(Director)负责场景(Scene)的切换,在场景中加入不同的布局(Layer),这里有一个zOrder的值,仅仅有处于同一个zOrder中的Layer才干进行交互。
Scene和Layer在对象显示中起到了比較基本的作用,我们一般都是在Scene和Layer中来处理可视化对象的布局、碰撞、分数等状态的显示。
Scene是一个抽象类,仅用于依据对象的像素坐标把对象放置到场景中正确的位置。
Layer类本身没有特殊的功能。但它能够用于接收触摸事件和加速输入。
在Node中又几个比較重要的方法须要在子类中实现:
virtual bool init() override;
在cococs2d-x中,使用init方法进行初始化,在这种方法中,须要调用父类的init方法,然后能够进行子类的初始化,此方法返回false表示初始化失败。cocos2d-x不会进行界面的绘制。
static Layer *create();
用于创建和初始化Node对象。在子类中使用CREATE_FUNC这个宏来实现此方法。这样就实现了子类构造函数和init方法的调用:
#define CREATE_FUNC(__TYPE__) \
static __TYPE__* create() \
{ \
__TYPE__ *pRet = new __TYPE__(); \
if (pRet && pRet->init()) \
{ \
pRet->autorelease(); \
return pRet; \
} \
else \
{ \
delete pRet; \
pRet = NULL; \
return NULL; \
} \
}
相关文章
- 【Oracle】Oracle RAC ON NODE
- Node.js HTTP Server对象及GET、POST请求
- Node.js之Express一
- Node.js HTTP Server对象及GET、POST请求
- Node.js中Process.nextTick()和setImmediate()的区别
- ThinkPHP中:使用递归写node_merge()函数
- [Node.js] Exporting Modules in Node
- [Whole Web] [Node.js] [Browserify] [Grunt] Automation task with grunt-browserify & grunt-contrib-watch
- Node.js的全局对象和全局变量
- node入门
- python安装及写一个简单的验证码组件(配合node)
- [Node.js] Polling
- [CLI] Create a Hybrid Single-Multi Command Node.js CLI with Oclif and TypeScript
- [Node.js] Introduction to apiCheck.js
- java操作k8s api示例:通过java完成对kubenetes原生资源对象(pod、node、namespace、servcie、deployment)和自定义资源对象CRD的增删改查或事件监听
- SAP WebClient UI component context node class单元测试方法
- Atitit sleep原理 node.js sleep解决方案 timer
- 《node.js开发指南》观后感
- 从源码分析DEARGUI之add_tree_node
- 记一次node项目重构改进
- 手把手带你写Node.JS版本小游戏
- Node.js v0.10.31API手工-DNS
- leetcode 237. Delete Node in a Linked List
- Node.js学习笔记——HTTP协议
- prometheus 安装 node_exporter