cocos2dx 如何获得节点的类型
1. 需求:在所有子节点中得到是ui::Text类型的节点,并对其进行操作。
2. 解决方案:在根节点Node中有一个如下的函数:
/**
* Gets the description string. It makes debugging easier.
* @return A string
* @js NA
* @lua NA
*/
virtual std::string getDescription() const;
Node中默认的实现:
std::string Node::getDescription() const
{
return StringUtils::format("<Node | Tag = %d", _tag);
}
我们在ui::Text中找到该函数的实现如下:
std::string Text::getDescription() const
{
return "Label";
}
修改为:
std::string Text::getDescription() const
{
return "cocos2d::ui::Text";
}
3.我们在遍历子节点时就可以知道节点的类型是不是cocos2d::ui::Text了
        for (Vector<Node*>::iterator it = all_children.begin(); it != all_children.end(); ++it){
            Node* child = *it;
            std::string type_name = child->getDescription();
            if (type_name == "cocos2d::ui::Text"){
                //DO SOMETHING
            }
        }
以上,完。
cocos2dx 如何获得节点的类型的更多相关文章
- 分享:根据svg节点对象类型和路径值转换坐标值
		功能用处: 对svg文件的路径节点填充时会使用(相邻两个坐标区域内的四边形的填充颜色不重复). 需要对svg文件中的Path节点或者 Polyline 节点做颜色填充.并且相邻的两个区域之间的颜色不允 ... 
- kubernetes1.4新特性:增加新的节点健康状况类型DiskPressure
		背景资料 在Kubernetes架构图中可以看到,节点(Node)是一个由管理节点委托运行任务的worker. 它能运行一个或多个Pods,节点(Node)提供了运行容器环境所需要的所有必要条件,在K ... 
- Cocos2d-x中父节点scale对子节点的影响
		背景:在前几天,刚接触cocos2d-x,随便找了一张图,作为一个CCSprite,而且设置了scale属性,然后在这个sprite上创建了一个CCLabelTTF,并用sprite->addC ... 
- SpriteBuilder中节点位置类型为百分比时不能定位的解决
		Ball.ccb类型是Node,其中有个子节点为Color Node,其中物理使能. MainScene.ccb中加入一个物理节点,将Ball.ccb拖入其中,成为该物理节点的孩子,这时出现了一个&q ... 
- Cocos2dx 3.2 节点之间相互通信与设置触摸吞噬的方法
		实际开发中,我们经常会遇到这样的情况.我们有一个层layer1,这个层包含一个menu层,menu1层里又包含了一个节点按钮button1.现在需要实现一个效果:点击button1弹出一个对话框,这个 ... 
- elasticsearch节点(角色)类型解释node.master和node.data
		在生产环境下,如果不修改elasticsearch节点的角色信息,在高数据量,高并发的场景下集群容易出现脑裂等问题. 默认情况下,elasticsearch集群中每个节点都有成为主节点的资格,也都存储 ... 
- js节点的类型
		1. dom>documentElement>body>tagname 2.我们常用的节点标签. 元素节点(标签) 文本节点 属性节点(标签里的属性) 3.document有个属性n ... 
- 关于Cocos2d-x中父子节点的互动
		1.子节点可以通过this->getParent()来获得相应的父节点,并且进行强制类型转换. ((Scene*)this->getParent())->getPhysicsWorl ... 
- 【Cocos2d-x Lua】数据库封装类型的操作
		Lua数据库封装类型的操作 使用演示样例 lua代码: require("DB") -- 保存一个字符串(数据库中存储的数据都是以字符串的形式保存的) DB:getInstance ... 
随机推荐
- Golang通过git clone beego框架报错   error:  while accessing https://github.com/astaxie/beego/info/refs    fatal: HTTP request failed package github.com/astaxie/beego: exit status 128
			在Centos6.4尝试搭建beego框架,使用git命令clone时报错 # cd .; git clone https://github.com/astaxie/beego /www/projec ... 
- spring Boot(十九):使用Spring Boot Actuator监控应用
			spring Boot(十九):使用Spring Boot Actuator监控应用 微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台 ... 
- mongodb三种引擎测试(转)
			文章http://diyitui.com/content-1459560904.39084552.html亲测了根据证券行情存储的性能情况,我们目前使用load local infile,平均每秒更新 ... 
- intel webrtc 部署
			org link conference server Configure the MCU server 1. set the maximum numbers of open files, runnin ... 
- php mysqli 的使用方法
			原文链接:https://blog.csdn.net/solly793755670/article/details/52217456 Mysqli是php5之后才有的功能 需要修改php.ini的配置 ... 
- css-过渡
			css过渡:元素从一种样式逐渐改变为另一种的效果.过渡所需的条件:1.所过渡的元素必须有css样式.2.必须有过渡时间.以下是过渡元素的属性:transition:简写属性,用于在一个属性中设置四个过 ... 
- 利用Selenium自动化测试android wap页
			http://blogs.360.cn/360qtest/2014/04/01/%E5%88%A9%E7%94%A8selenium%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5% ... 
- VS2015密钥
			Visual Studio Professional 2015简体中文版(专业版)KEY:HMGNV-WCYXV-X7G9W-YCX63-B98R2Visual Studio Enterprise 2 ... 
- Linux/shell: Concatenate multiple lines to one line
			$ cat file START Unix Linux START Solaris Aix SCO 1. Join the lines following the pattern START with ... 
- 深度学习课程笔记(五)Ensemble
			深度学习课程笔记(五)Ensemble 2017.10.06 材料来自: 首先提到的是 Bagging 的方法: 我们可以利用这里的 Bagging 的方法,结合多个强分类器,来提升总的结果.例如: ... 
