欢迎光临
我们一直在努力

cocos2d-x schedule定时器

cocos2dx中有三种定时器:schedule,scheduleUpdate,scheduleOnce

scheduleUpdate

程序会每帧都会自动执行一次默认的Update函数(注:一定是update函数

开启自带的update方法(虚函数,virtual  update(float t)),这个方法会每帧执行一次,默认优先级为0,并且在所有自定义方法执行之前执行(设定的越小,越)。

通过this->scheduleUpdate()把定时器加到节点队列里后,节点会每帧都会调用虚函数:update(void);且一个节点只能有一个update(void)虚函数。

取消(或关闭)自带的update(void)方法(回调函数):this->unscheduleUpdate(); 只能触发虚函数 update( );

 

scheduleOnce

定义一个延迟执行的单次自定义定时器

* selector回调函数

* delay* 延秒数,延delay秒开始行回调,且只回调一次

 

schedule

定义一个自定义的定时器

* selector回调函数

* interval重复间隔时间,重复执行间隔的时间,如果传入0,则表示每帧调用

* repeat重复运行次数,如果传入CC_REPEAT_FOREVER则表示无限循环

* delay延时秒数,延迟delay秒开始执行第一次回调

 

 定义一个立即执行的无限循环的自定义定时器

* selector回调函数

* interval重复间隔时间,重复执行间隔的时间,如果传入0,则表示每帧调用

 

定义了一个无限循环、立即执行并且每帧都会执行的自定义定时器(和scheduleUpdate效果一样,但是会在scheduleUpdate之后执行)

* selector回调函数

使用lambda函数定义一个每帧调用的自定义定时器

* callbacklambda函数

* keylambda函数的Key,用于取消定时器

 

使用lambda函数定义一个每隔interval秒调用的自定义定时器

* callbacklambda函数

* interval重复间隔时间,重复执行间隔的时间,如果传入0,则表示每帧调用

* keylambda函数的Key,用于取消定时器

 

使用lambda函数定义一个自定义定时器

* callbacklambda函数

* interval重复间隔时间,重复执行间隔的时间,如果传入0,则表示每帧调用

* repeat重复运行次数,如果传入CC_REPEAT_FOREVER则表示无限循环

* delay延时秒数,延迟delay秒开始执行第一次回调

* keylambda函数的Key,用于取消定时器

 

取消一个自定义定时器

 

 

未经允许不得转载:白天看星星' s Blog—xhmshine—专注于游戏开发--张红银' s Blog » cocos2d-x schedule定时器
分享到: 更多 (0)