如果说。

Widget addChild()   与 addNode()  两个方法。

如今我要载入一个粒子特效进去,下图:

Widget* layout =  dynamic_cast<Widget*>(pRoomWidget[roomId]->getChildByTag(10));

CCParticleSystemQuad* particle = CCParticleSystemQuad::create("particleTexture.plist");
particle->setPosition(CCPointZero);
layout->addChild(particle);

最初。我是直接 使用 layout->addChild(particle);         Log中有一个断言失败的错误:下图是错误位置

void Widget::addChild(CCNode* child, int zOrder, int tag)
{
CCAssert(dynamic_cast<Widget*>(child) != NULL, "Widget only supports Widgets as children");
CCNode::addChild(child, zOrder, tag);
_widgetChildren->addObject(child);
}

后来换成 layout->addNode(particle);

载入成功,没有断言失败。但在删除掉的时候出错。。。

解决方法有两种:

1、使用addChild()载入。但中间须要间隔一层Widget,如图:

<span style="white-space:pre">	</span>CCParticleSystemQuad* particle = CCParticleSystemQuad::create("particleTexture.plist");
particle->setPosition(CCPointZero);
Widget* pNode = Widget::create();
pNode->setPosition(CCPointZero);
pNode->addNode(particle);
layout->addChild(pNode);

删除时使用 

<span style="white-space:pre">	</span>layout->removeAllChildren();

2、使用addNode()载入

<span style="white-space:pre">	</span>CCParticleSystemQuad* particle = CCParticleSystemQuad::create("particleTexture.plist");
particle->setPosition(CCPointZero);
layout->addNode(particle);

相同,删除时需注意改为

<span style="white-space:pre">	</span> layout->removeAllNodes();

版权声明:本文博主原创文章,博客,未经同意不得转载。

cocos2dx --- Widget 载入中 CCNode的更多相关文章

  1. 深入分析Cocos2d-x 2.0中的“纹理”

    对CCImage的绘制是通过CCTexture2D来实现的(OPENGL es)通过纹理绘制到某个面. (本文中所提到的方法在cocos2d2.0中部分有调整,请应用时候具体察看源码)1. 首先来了解 ...

  2. cocos2dx 3.7中 AppDelegate.h的class TestController;这种写法的具体意思不太明白,只能猜是类似于外部定义的东西。

    cocos2dx 3.7中 AppDelegate.h的class TestController;这种写法的具体意思不太明白,只能猜是类似于外部定义的东西.

  3. 解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题

    解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题 本文的实践来源是参照了两个帖子完成的: http://dis ...

  4. cocos2d-x 3.0rc2中读取sqlite文件

    cocos2d-x 3.0rc2中读取sqlite文件的方式,在Android中直接读取软件内的会失败.须要复制到可写的路径下 sqlite3* dbFile = NULL; std::string ...

  5. ios怎样实现快速将显卡中数据读出压缩成视频在cocos2dx扩展开发中

    如果解决ios怎样实现快速将显卡中数据读出压缩成视频在cocos2dx扩展开发中 手机平台性能是个关键问题. 压缩视频分成3个步骤: 读取显卡数据, 使用编码器压缩,保存文件. 使用libav 压缩的 ...

  6. Cocos2d-x游戏开发中的消息机制:CCNotificationCenter的使用

    在HTML5游戏开发中,js可以使用Event对象的addEventListener(添加事件监听).dispatchEvent(触发事件)实现监听机制,如果在coocos2d-x中,去实现这种机制该 ...

  7. WPF异步载入图片,附带载入中动画

    原文:WPF异步载入图片,附带载入中动画 WPF异步载入图片,附带载入中动画 最近,在做一个WPF项目.项目中有一个需求,就是以列表的方式显示出项目图片.这些图片有的存在于互联网上,有的存在于本地磁盘 ...

  8. 正在载入中......loading页面的几种方法

    网页加载过程中提示“载入中…”,特别是使用动画效果,可以一个“等待”的温馨提示,用户体验很不错.下面介绍几种方法. 第一种: 原理就是,在网页载入时在页面最中间打入一个层上面显示,"网页正在 ...

  9. Ladda 应用提交表单的时候显示loading载入中 包含不同位置,不同效果

    Ladda 应用提交表单的时候显示loading载入中 包含不同位置,不同效果 不同大小.位置,效果,进度条等 演示 XML/HTML Code <article class="exa ...

随机推荐

  1. 【css基础】垂直外边距的合并

    近期在重温<CSS权威指南>,还是想把基础再打坚固点,如今对垂直外边距的合并问题进行简单总结. 1. 两个块级元素的外边距都大于0时,取那个最大值作为两个块级元素的垂直边距 请看以下一个小 ...

  2. Android Fragment的介绍与使用(案例Demo)

    应用场景: 众所了解Android上的界面展示都是通过Activity实现的,可是Activity也有它的局限性,相同的界面在手机上显示可能非常好看,在平板上就未必了.为了让界面能够在平板上更好地展示 ...

  3. Spark简述及基本架构

    Spark简述 Spark发源于美国加州大学伯克利分校AMPLab的集群计算平台.它立足 于内存计算.从多迭代批量处理出发,兼收并蓄数据仓库.流处理和图计算等多种计算范式. 特点: 1.轻 Spark ...

  4. zoj1940(三维广搜)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=940 分析:三维其实就是六个方向地搜索,思维清晰且细心点,很快就AC了 ...

  5. java 线程 ProducerAndConsumer

    package j2se.thread.demo; /** * <p>Project:J2SE 的基础知识</p> * <p>Tile:多线程模拟 生产者 和 消费 ...

  6. CF 553A 组合DP

    http://codeforces.com/problemset/problem/553/A A. Kyoya and Colored Balls time limit per test 2 seco ...

  7. Mit 分布式系统导论,Distributed Systems ,lab1 -lab6 总结,实验一到实验六总结

    终于把Mit的分布式系统导论课的实验1-6写完了 做得有些痛苦,但是收获也很大 http://pdos.csail.mit.edu/6.824-2012/labs/index.html 把实验1-6用 ...

  8. Java的图片处理工具类

    import Java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...

  9. PHPDocumentor代码注释规范说明

       PHPDocumentor是一个的用PHP写的道具,对于有规则注释的php程序,它能够快速生成具有相互参照,索引等功能的API文档. 标记 用途 描述 @abstract   抽象类的变量和方法 ...

  10. loading加载中效果

    (function(){ try{ var ui={ loading:{ addCssStyle:function(text) { var head = document.getElementsByT ...