1. Test4::Test4()
  2. {
  3. CCSprite *sp1 = CCSprite::create(s_pPathSister1);
  4. CCSprite *sp2 = CCSprite::create(s_pPathSister2);
  5.  
  6. sp1->setPosition( ccp(,) );
  7. sp2->setPosition( ccp(,) );
  8.  
  9. addChild(sp1, , );
  10. addChild(sp2, , );
  11. //在第二秒的时候执行delay2函数
  12. schedule( schedule_selector(Test4::delay2), 2.0f);
  13. //在第四秒的时候执行delay4函数
  14. schedule( schedule_selector(Test4::delay4), 4.0f);
  15. }
  16.  
  17. void Test4::delay2(float dt)
  18. {
  19. CCSprite* node = (CCSprite*)(getChildByTag());
  20. CCAction* action1 = CCRotateBy::create(, );
  21. node->runAction(action1);
  22. }
  23.  
  24. void Test4::delay4(float dt)
  25. {
  26. unschedule(schedule_selector(Test4::delay4));
  27. removeChildByTag(, false);//通过tag删除节点
  28. }
  1. void CCNode::removeChildByTag(int tag, bool cleanup)
  2. {
  3. CCAssert( tag != kCCNodeTagInvalid, "Invalid tag");
  4.  
  5. CCNode *child = this->getChildByTag(tag);
  6.  
  7. if (child == NULL)
  8. {
  9. CCLOG("cocos2d: removeChildByTag: child not found!");
  10. }
  11. else
  12. {
  13. this->removeChild(child, cleanup);
  14. }
  15. }
  1. void CCNode::removeChild(CCNode* child, bool cleanup)
  2. {
  3. // explicit nil handling
  4. if (m_pChildren == NULL)
  5. {
  6. return;
  7. }
  8.  
  9. if ( m_pChildren->containsObject(child) )
  10. {
  11. this->detachChild(child,cleanup);
  12. }
  13. }
  1. void CCNode::detachChild(CCNode *child, bool doCleanup)
  2. {
  3. // IMPORTANT:
  4. // -1st do onExit
  5. // -2nd cleanup
  6. if (m_bIsRunning)
  7. {
  8. child->onExitTransitionDidStart();
  9. child->onExit();
  10. }
  11.  
  12. // If you don't do cleanup, the child's actions will not get removed and the
  13. // its scheduledSelectors_ dict will not get released!
  14. if (doCleanup)//转到这里你会发现,为真的话,则清除该节点及其子节点
  15. {
  16. child->cleanup();
  17. }
  18.  
  19. // set parent nil at the end
  20. child->setParent(NULL);//为假的话,不清除节点,直接对其父节点赋值空
  21.  
  22. m_pChildren->removeObject(child);//清除跟该节点有关的所有资源
  23. }

removeChildByTag、schedule、schedule_selector的更多相关文章

  1. 调度器的实现、schedule、switch_context、switch_to

    根据<深入Linux内核架构>和Linux-3.10.1内核源码,记一些调度过程的主体工作. 调度器任务:CPU数目比要运行的进程数目少,需要程序之间共享CPU时间,创造并行执行的错觉.分 ...

  2. 对于Linux内核执行过程的理解(基于fork、execve、schedule等函数)

    382 + 原创作品转载请注明出处 + https://github.com/mengning/linuxkernel/ 一.实验环境 win10 -> VMware -> Ubuntu1 ...

  3. (转)Java任务调度框架Quartz入门教程指南(二) 使用job、trigger、schedule调用定时任务

    http://blog.csdn.net/zixiao217/article/details/53044890 读完第一节,我们已经对Quartz有了一个大体的认识,它可以定时帮我们执行一些处理程序, ...

  4. cocod2d-x 之 CCDirector、CCScene、CCSprite

    CCDirector是控制游戏流程的主要组件. typedef enum { /// sets a 2D projection (orthogonal projection)2D投机模式 kCCDir ...

  5. 【转载】保哥 釐清 CLR、.NET、C#、Visual Studio、ASP.NET 各版本之間的關係

    我常常不仅仅逛 博客园,还会去找国外,特别是台湾的技术部落格,发现好的文章,我便会收录,今天我转载或者全文复制,在Google 博客园,一位叫保哥, 釐清 CLR..NET.C#.Visual Stu ...

  6. 0041 Java学习笔记-多线程-线程池、ForkJoinPool、ThreadLocal

    什么是线程池 创建线程,因为涉及到跟操作系统交互,比较耗费资源.如果要创建大量的线程,而每个线程的生存期又很短,这时候就应该使用线程池了,就像数据库的连接池一样,预先开启一定数量的线程,有任务了就将任 ...

  7. 来自沪江、滴滴、蘑菇街架构师的 Docker 实践分享

    架构师小组交流会是由国内知名公司架构师参与的技术交流会,每期选择一个时下最热门的技术话题进行实践经验分享. Docker 作为当前最具颠覆性的开源技术之一,其轻量虚拟化.可移植性是 CI/CD.Dev ...

  8. 挣值管理(PV、EV、AC、SV、CV、SPI、CPI) 记忆

    挣值管理法中的PV.EV.AC.SV.CV.SPI.CPI这些英文简写相信把大家都搞得晕头转向的.在挣值管理法中,需要记忆理解的有三个参数:PV.AC.EV.     PV:计划值,在即定时间点前计划 ...

  9. Docker实践,来自沪江、滴滴、蘑菇街架构师的交流分享

    架构师小组交流会:每期选一个时下最热门的技术话题进行实践经验分享. 第一期主题:容器实践.Docker 作为当前最具颠覆性的开源技术之一,其轻量虚拟化.可移植性是CI/CD,DevOps,微服务的重要 ...

随机推荐

  1. Eclipse里如何配制项目在tomcat中启动

    首先,在Eclipse中新建一个Hello工程,Workspace的位置在c:/eclipse/workspace,所以hello工程的位置就是在%Workspace%/hello/这个文件夹中.  ...

  2. Java Lombok 减少代码冗余 get set

    1.下载 2.安装 java -jar Users\uatww990393\Desktop\lombok-1.16.16.jar a. 直接添加jar包到lib中  在java中项目中使用lombok ...

  3. Eclipse的tomcat插件

    下载Tomcat Eclipse插件 http://www.eclipsetotale.com/tomcatPlugin.html 或者我的网盘 将tomcatPluginV321.zip内容解压到 ...

  4. win7 登录后只能使用“临时配置文件”,原来的配置文件无法启用!

    这个问题,修改注册表就可以解决. 开始-> 运行-> 输入regedit,回车, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Cur ...

  5. Android 一个apk多个ICON执行入口

    一个工程对应一个AndroidManifest.xml文件,这个文件中包含有该项目的一些设置,如权限.SDk版Activity.Service信息等.一般而言,这个文件中会有且仅有一个applicat ...

  6. 转载:PHP JSON_ENCODE 不编码中文汉字的方法

    1.PHP版本5.4(包含)+ json_encode($data, JSON_UNESCAPED_UNICODE); //必须PHP5.4+ 2.PHP版本5.4- function encode_ ...

  7. 执行存储过程报错——ora-01031:权限不足

    1. 执行DDL报错 在oracle存储过程中,默认是可以直接执行DML和DQL的,但是执行CREATE这种的DDL则需要借助EXECUTE IMMEDIATE ···了,如下备份表语句 --抄表表备 ...

  8. HDUOJ----4504 威威猫系列故事——篮球梦

    威威猫系列故事——篮球梦 Time Limit: 300/100 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total ...

  9. HDUOJ---1862EXCEL排序

    EXCEL排序 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  10. nyoj-----前缀式计算

    前缀式计算 时间限制:1000 ms  |           内存限制:65535 KB 难度:3   描述 先说明一下什么是中缀式: 如2+(3+4)*5这种我们最常见的式子就是中缀式. 而把中缀 ...