zoukankan      html  css  js  c++  java
  • cocos2d-x调用scheduleUpdate()不执行update()方法的解决办法【转】

    原文地址:http://blog.csdn.net/somestill/article/details/9699377

    前两天使用到每帧都更新动画的scheduleUpdate()方法,但通过cclog,我发现, scheduleUpdate()是执行了,但update()方法并没有被调用,从网上搜下,也并没有找到好的解决方法,最后,在热心网友kaka和你用温暖的目光(非常感谢两位)的帮助下,终于找到解决办法了,办法很简单,就是用下面这句话替换scheduleUpdate()就行啦:

        CCDirector::sharedDirector()->getScheduler()->scheduleUpdateForTarget(this,0,false);

    或者:

        CCDirector::sharedDirector()->getScheduler()->scheduleSelector(schedule_selector(NewGame::update),this,0.1,false);

     

    当然了,使用系统提供的update总是不那么方便,还不如自己定义自己的更新方法,在指定时间内调用,如:

    schedule(schedule_selector(Potentiometer::valueChange),1);

    unschedule(schedule_selector(Potentiometer::valueChange));

    以及

    CCDirector::sharedDirector()->getScheduler()->scheduleSelector(SEL_SCHEDULE(&Potentiometer::valueChange), this, 1, false);

    CCDirector::sharedDirector()->getScheduler()->unscheduleSelector(SEL_SCHEDULE(&Potentiometer::valueChange), this);

    都能达到很好的效果,在间隔1s时间后,调用valueChange方法,尤其是当类的继承不为CCNode而为CCLayer时,以上两种方法还是很有效果的。

  • 相关阅读:
    CentOS7 PXE安装批量安装操作系统
    004_MySQL 主从配置
    CentOS 桥接网卡配置
    玩转 Jupyter Notebook (CentOS)
    搭建专属于自己的Leanote云笔记本
    wetty 安装(web+tty)
    wget命令详解
    linux 下find---xargs以及find--- -exec结合使用
    Linux 交换分区swap
    Linux 时区的修改
  • 原文地址:https://www.cnblogs.com/wxy325/p/3414019.html
Copyright © 2011-2022 走看看