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)的后 ...
随机推荐
- HDU4112
对于n*m*k的方块,用手掰成1**1的那么搜需要的步骤是固定的,为n*m*k-,如果用刀切,因为可以把多块叠在一起切,所以对于长度为n的,将他切成0,所需要的步骤数位k 对于n*m*k的方块,用手掰 ...
- Web前端学习笔记之前端跨域知识总结
0x00 前言 相信每一个前端er对于跨域这两个字都不会陌生,在实际项目中应用也是比较多的.但跨域方法的多种多样实在让人目不暇接.老规矩,碰到这种情况,就只能自己总结一篇博客,作为记录. 0x01 什 ...
- 20145326 《Java程序设计》课程总结
每周读书笔记链接汇总 20145326第1周学习总结 20145326第2周学习总结 20145326第3周学习总结 20145326第4周学习总结 20145326第5周学习总结 20145326第 ...
- (探讨贴)POJ 1463 树形DP解法的不正确性
POJ1463是一个典型的树状DP题. 通常解法如下代码所示: using namespace std; ; ]; int pre[maxn]; int childcnt[maxn]; int n; ...
- [fastjson] - fastjson中 JSONObject 和 JSONArray
/** * 对jsonObject对象进行key的获取 * @param jsonObject */ public ArrayList<String> jsonKeyRecursion(J ...
- Python学习札记(三十三) 面向对象编程 Object Oriented Program 4
参考:继承和多态 NOTE 著名的开闭原则: 对扩展开放:允许新增Animal子类: 对修改封闭:不需要修改依赖Animal类型的Animal_func()等函数. 1.eg. #!/usr/bin/ ...
- python 输出环境变量
import os # Access all environment variables print('*---------------ENVIRON-------------------*') pr ...
- undefined 与 null
typeof null - 'object typeof undefined - 'undefined' Boolean(null) - false Boolean(undefin ...
- 【源码学习之spark core 1.6.1 standalone模式下的作业提交】
说明:个人原创,转载请说明出处 http://www.cnblogs.com/piaolingzxh/p/5656876.html 未完待续
- Spring IOC 源码简单分析 01 - BeanFactory
### 准备 ## 目标 了解 Spring IOC 的基础流程 ## 相关资源 Offical Doc:http://docs.spring.io/spring/docs/4.3.9.RELEASE ...