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();
时间: 2024-12-28 21:47:49

Cocos2d-x三种定时器启用和停止的相关文章

cocos2dx三种定时器的使用

 cocos2dx三种定时器的使用以及停止schedule,scheduleUpdate,scheduleOnce 今天白白跟大家分享一下cocos2dx中定时器的使用方法. 首先,什么是定时器呢?或许你有时候会想让某个函数不断的去执行,或许只是执行一次,获取你想让他每隔几秒执行一次,ok,这些都可以统统交给定时器来解决. cocos2dx中有三种定时器:schedule,scheduleUpdate,scheduleOnce.了解其功能便会发现定时器真是太方便了,废话不多说,我们逐一学习一

cocos2dx三种定时器使用

 cocos2dx三种定时器的使用以及停止schedule.scheduleUpdate.scheduleOnce 今天白白跟大家分享一下cocos2dx中定时器的用法. 首先,什么是定时器呢?也许你有时候会想让某个函数不断的去运行.也许仅仅是运行一次,获取你想让他每隔几秒运行一次.ok.这些都能够统统交给定时器来解决. cocos2dx中有三种定时器:schedule,scheduleUpdate.scheduleOnce.了解其功能便会发现定时器真是太方便了,废话不多说,我们逐一学习一下

Objective-C三种定时器CADisplayLink / NSTimer / GCD的使用

OC中的三种定时器:CADisplayLink.NSTimer.GCD 我们先来看看CADiskplayLink, 点进头文件里面看看, 用注释来说明下 @interface CADisplayLink : NSObject { @private void *_impl; //指针 } + (CADisplayLink *)displayLinkWithTarget:(id)target selector:(SEL)sel;//唯一一个初始化方法 - (void)addToRunLoop:(NS

C#三种定时器的实现

·关于C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Timers.Timer类里 System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中 的Timer控件,内部使用API SetTimer实现的.它的主要缺点是计时不精确,而且必须有消息循环,Console Appli

iOS 计时器三种定时器的用法NSTimer、CADisplayLink、GCD

原文:http://www.cocoachina.com/ios/20160919/17595.html 一.三种计时器 二.全局倒计时 #import "ViewController.h" @interface ViewController () { CADisplayLink * displaylinked; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do

C#中三种定时器对象的比较

·关于C#中timer类 在C#里关于定时器类就有3个1.定义在System.Windows.Forms里2.定义在System.Threading.Timer类里3.定义在System.Timers.Timer类里 System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API SetTimer实现的.它的主要缺点是计时不精确,而且必须有消息循环,Console Applicati

cocos2dx三种定时器的使用以及停止schedule,scheduleUpdate,scheduleOnce。

今天白白跟大家分享一下cocos2dx中定时器的使用方法. 首先,什么是定时器呢?或许你有时候会想让某个函数不断的去执行,或许只是执行一次,获取你想让他每隔几秒执行一次,ok,这些都可以统统交给定时器来解决. cocos2dx中有三种定时器:schedule,scheduleUpdate,scheduleOnce.了解其功能便会发现定时器真是太方便了,废话不多说,我们逐一学习一下. 1.scheduleUpdate 加入当前节点后,程序会每帧都会自动执行一次默认的Update函数.(注:一定是U

iOS 中三种定时器的用法NSTimer、CADisplayLink、GCD

一.NSTimer 1. 创建方法 NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(action:) userInfo:nil repeats:NO]; TimerInterval : 执行之前等待的时间.比如设置成1.0,就代表1秒后执行方法 target : 需要执行方法的对象. selector : 需要执行的方法 repeats : 是否需要循环 2.

NSTimer、CADisplayLink、GCD 三种定时器的用法 —— 昉

在软件开发过程中,我们常常需要在某个时间后执行某个方法,或者是按照某个周期一直执行某个方法.在这个时候,我们就需要用到定时器. 在iOS中有很多方法完成定时器的任务,例如 NSTimer.CADisplayLink 和 GCD都可以. 一.NSTimer 1. 创建方法 NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(action:) userInfo:nil