cocos2dx ui显示机制
实验1
1,a.addChild(b); a的宽高没变,还是自己的宽高。 层级添加 不会改变原层大小。
2.node.addChild(sprite);node的宽和高也没变 感觉2dx的显示不是树形结构。
然后改变node的透明度也不管用,node不是个显示类,感觉唯一的作用就是操作很多个sprite。一起改变位置
//sprite包含情况
void HelloWorld::testSpriteAdd()
{
auto sprite1 = Sprite::create("Images/CyanSquare.png");
sprite1->setPosition(160, 240); log("sprite1 w,h %f %f",sprite1->getContentSize().width, sprite1->getContentSize().height); auto node = Node::create();
node->addChild(sprite1);
node->setOpacity(255 / 2);
addChild(node, 0, 100);
log("node w,h %f %f", node->getContentSize().width, node->getContentSize().height);//0,0 }
实验2
感觉2dx中没有父改变,所有的子都改变的机制,只是单单改变你调用的那一个对象,下面的代码只有bomb1改变了透明度,他的子spr并没有改变
auto s = Director::getInstance()->getWinSize();
Node* node = Node::create();
Sprite* bomb1 = Sprite::create("bg.png");
node->addChild(bomb1);
this->addChild(node);
node->setOpacity( / ); node->setPosition(Vec2(s.width/,s.height/)); auto spr = Sprite::create("a.png");
bomb1->addChild(spr); bomb1->setOpacity(/);//
那要整体改变一个node的透明读,然后他所有的子的透明度都变化应该怎么做呢?
void HelloWorld::testSetOpacity()
{
auto s = Director::getInstance()->getWinSize();
Node* node = Node::create();
node->setCascadeOpacityEnabled(true);
Sprite* bomb1 = Sprite::create("bg.png");
node->addChild(bomb1); //auto spr = Sprite::create("a.png");
//bomb1->addChild(spr); this->addChild(node);
node->setPosition(Vec2(s.width / , s.height / ));
node->setOpacity(/);
}
setCascadeOpacityEnabled 这个函数里面调用了
updateDisplayedOpacity 这个方法只是遍历了第一层孩子,没有检测孩子的孩子
void Node::updateDisplayedOpacity(GLubyte parentOpacity)
{
_displayedOpacity = _realOpacity * parentOpacity/255.0;
updateColor(); if (_cascadeOpacityEnabled)
{
for(auto child : _children){
child->updateDisplayedOpacity(_displayedOpacity);
}
}
}
cocos2dx ui显示机制的更多相关文章
- 2、COCOS2D-X内存管理机制
在C++中.动态内存分配是一把双刃剑,一方面,直接訪问内存地址提高了应用程序的性能,与使用内存的灵活性.还有一方面.因为程序没有正确地分配与释放造成的比如野指针,反复释放,内存泄漏等问题又严重影响着应 ...
- Activity调用静态方法改变UI,使用Handler来改变UI显示
本人菜鸟,请各位多多指点,不足之处,请斧正.没啥技术含量,就权当丰富下mono for android的小代码. Activity调用静态方法改变UI using System; using Andr ...
- QT显示机制(7篇相关文章)
了解QT显示机制,最重要的就是要了解QT是如何管理窗体的显示区域的,这里有个重要的类:QRegion, 在QT中可以通过QRegion定义一个窗体的显示区域,也可以通过QRegion定义窗体的可修改区 ...
- Win10系统下软件UI显示不完整解决方案
在最初升级win10的时候就想到了这些问题,例如和各种软件的不兼容性.当然,事实上win10并没有想象的那么糟,作为一个windows user 来说,win10的确是很高大上的,无论是颜值或者是体验 ...
- 第六篇 ANDROID窗口系统机制之显示机制
第六篇 ANDROID窗口系统机制之显示机制 ANDROID的显示系统是整个框架中最复杂的系统之一,涉及包括窗口管理服务.VIEW视图系统.SurfaceFlinger本地服务.硬件加速等.窗口管理服 ...
- Xamarin XAML语言教程将XAML设计的UI显示到界面
Xamarin XAML语言教程将XAML设计的UI显示到界面 如果通过XAML将UI设计好以后,就可以将XAML中的内容显示给用户了,也就是显示到界面上.由于创建XAML文件方式的不同,所以将XAM ...
- 深入理解android的UI更新机制
深入理解android的UI更新机制 由问题开始: 如何更新android UI? 可以通过如下方法: 在主线程里直接操作UI控件. handler.post(Runnable) runOnUiThr ...
- Cocos2dx&Lua - UI显示优化之怎样解决解析大量json文件
GUIReader中有个widgetFromJsonFile的方法,此方法是用于解析json文件(cocostudio生成的UI的)并返回该文件的父节点(Widget),然后便于进一步的UI操作(如获 ...
- [cocos2dx UI] CCLabelAtlas 为什么不显示最后一个字
CClabelAtlas优点,基本用法等我就不说了,这里说一个和美术配合时的一个坑!就是图片的最后一位怎么也不显示,如下图中的冒号不会显示 查了ASCII码表,这个冒号的值为58,就是在9(57)的后 ...
随机推荐
- CentOS禁用笔记本touchpad
自己在家笔记本装来个双系统玩玩,发现触摸板很烦人,禁用! 1.安装一个小神器 yum install xorg-x11-apps 2.查看你到输入硬件对应的id,方便禁用命令 [root@huangz ...
- 打开 EXCEL时出现RUN-TIME ERROR“91”,怎么解决?
方法一: 开始—程序—microsoft—打开“windows office 2007 简易设置”,把“使用 office 03样式经典菜单”前的“√”去掉就OK了 方法二: 1. 打开注册表编辑器. ...
- CF #505 B Weakened Common Divisor(数论)题解
题意:给你n组,每组两个数字,要你给出一个数,要求这个是每一组其中一个数的因数(非1),给出任意满足的一个数,不存在则输出-1. 思路1:刚开始乱七八糟暴力了一下果断超时,然后想到了把每组两个数相乘, ...
- [参考]ASCII对照表 及 字符与二进制、十进制、16进制之间的转化(C/C++)
第1节 ASCII码对照表 1.1 ASCII控制字符 1.2 ASCII可显示字符 第2节字符的进制转换 2.1 获取字符(8位)的上四位和下四位 2.2 获取字符(上表中的‘图形’)所对应的十六进 ...
- 【bzoj2721】[Violet 5]樱花
题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=2721 好久没做数学题了,感觉有些思想僵化,走火入魔了. 这道题就是求方程$ \frac ...
- jsoop_封装
<script> //java.utils.ArrayList() //包(命名空间) /* var java = {}; java.utils = {}; java.utils.Arra ...
- hadoop经典案例
hadoop经典案例http://blog.csdn.net/column/details/sparkhadoopdemo.html
- TCGA系列--GDCRNATools
https://github.com/Jialab-UCR/GDCRNATools GDCRNATools - An R package for downloading, organizing, an ...
- [原][译][osgearth]关于Features & Symbology (特征与符号)(OE绘制矢量几何与特殊字符)讲解(OE官方文档翻译)
原文参考:http://docs.osgearth.org/en/latest/user/features.html 自己翻译的,本人英文水平有限,有问题看原链接,原文 20170802重置修改部分翻 ...
- 【测试设计】使用jenkins 插件Allure生成漂亮的自动化测试报告
前言 以前做自动化测试的时候一直用的HTMLTestRunner来生成测试报告,后来也尝试过用Python的PyH模块自己构建测试报告,在后来看到了RobotFramework的测试报告,感觉之前用的 ...