zoukankan      html  css  js  c++  java
  • Cocos2d-x三种定时器启用和停止


    定时器:或许你有时候会想让某个函数不断的去执行,或许只是执行一次,获取你想让他每隔几秒执行一次,这些都可以统统交给定时器来解决。
    cocos2dx中有三种定时器:schedule,scheduleUpdate,scheduleOnce。
    1、scheduleUpdate
    功能:每帧(也就是每秒啦)都会自动执行一次默认的Update函数。

    (注:一定是Update函数哦,若想调用其他自己命名的函数则使用schedule)

    /*头文件声明*/
    private:
    virtual void Update(float dt);
    
    /*cpp定义*/
    //定义update void HelloWorld::Update(float dt) { //你想定时做的事情 } //启动 scheduleUpdate(); //停止 unscheduleUpdate();

     2、schedule
    功能:可以每隔几秒(启动时自己设置的参数大小)执行某个自定义的函数

    /*头文件声明*/
    private:
    virtual void TestUpdate(float dt);
    
    /*cpp定义*/
    
    //定义update
    void HelloWorld::TestUpdate(float dt)
    {
         //你想定时做的事情
    }
    
    //启动
    schedule(schedule_selector(HelloWorld::TestUpdate),0.1f);
    //停止
    unschedule(schedule_selector(HelloWorld::TestUpdate));
    

    3、scheduleOnce
    功能:在几秒之后执行,并且只会执行一次

    (其实与schedule启动函数不一样)

    /*头文件声明*/
    private:
    virtual void TestUpdate(float dt);
    
    /*cpp定义*/
    
    //定义update
    void HelloWorld::TestUpdate(float dt)
    {
         //你想定时做的事情
    }
    
    //启动
    scheduleOnce(schedule_selector(HelloWorld::TestUpdate),0.1f);
    //停止
    unschedule(schedule_selector(HelloWorld::TestUpdate));
    

    停止所有定时器

    this->unscheduleAllSelectors();
    
  • 相关阅读:
    2013dgtcs 成绩排序
    JZOJ 1286. 太空电梯
    java单例模式Singleton
    设计模式的类型
    java工厂模式Factory
    Mysql SQL优化
    maven deploy命令打包到私服
    debian/linux 配置maven
    Java RC4加密解密工具
    JedisUtils
  • 原文地址:https://www.cnblogs.com/xiahei/p/7501679.html
Copyright © 2011-2022 走看看