cocos2dx三种定时器的使用以及停止schedule,scheduleUpdate,scheduleOnce
首先,什么是定时器呢?或许你有时候会想让某个函数不断的去执行,或许只是执行一次,获取你想让他每隔几秒执行一次

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

1scheduleUpdate

加入当前节点后,程序会每帧都会自动执行一次默认的Update函数。(注:一定是Update函数哦,若想调用其他自己命名的函数则使用schedule)

首先在HelloWord类的头文件中声明Update函数:

void Update(float dt);   //注意参数类型

然后在HelloWorld类源文件中实现函数Update:

void HelloWorld::Update(float dt)

{

CCLOG("baibai");

}

现在我们可以调用了,在需要他不断执行的地方加入调用的代码就ok:

this->scheduleUpdate();    
//this是当前节点,如layer。

运行之后你将会看到不断有baibai被打印出来

2schedule

可以没隔几秒执行某个自定义的函数,来看代码:

首先还是在HelloWorld中声明所要执行的函数:

void Move(float dt);

然后在源文件实现:

void HelloWorld::Move(float dt)

{

CCLOG("baibai");

}

现在去执行他,注意参数哦

this->schedule(schedule_selector(HelloWorld::Move),
1.0f); //每隔1.0f执行一次,省略参数则表示每帧都要执行

运行之后,baibai每隔1.0f才会被打印一次。

3scheduleOnce

功能:在几秒之后执行,并且只执行一次。

我们就执行上面所写过的Move函数吧:

this->scheduleOnce(schedule_selector(HelloWorld::Move),
1.0f); //在1.0f之后执行,并且只执行一次。

运行一下,baibai只是被打印了一次就完了。。。

ok,定时器的调用已经讲完,大家不妨自己写一些函数体验一下。

但是怎么让定时器停止呢?

1、停止执行自己定义函数的定时器:

this->unschedule(schedule_selector(HelloWorld::Move));

2、停止默认定时器:

this->unscheduleUpdate();

3、停止所有定时器:

this->unscheduleAllSelectors();

cocos2dx定时器的更多相关文章

  1. cocos2d-x 定时器selector的使用 :schedule的使用

    在游戏设计时,我们需要不断的改变屏幕显示来反映游戏操作的效果,最简单的就是提示用户已经进行的游戏时间.为此,我们需要使用cocos2d-x内置的任务调度机制,即CCNode的schedule成员函数. ...

  2. Cocos2d-X开发教程-捕鱼达人 Cocos2-x development tutorial - fishing talent

    Cocos2d-X开发教程-捕鱼达人 Cocos2-x development tutorial - fishing talent 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱 ...

  3. Cocos2d-x 3.2 学习笔记(十六)保卫萝卜 游戏主循环与定时器

    保卫萝卜~想法一直存在于想法,实战才是硬道理!有想法就去实现,眼高手低都是空谈.   一.游戏主循环GameSchedule      主循环是游戏处理逻辑,控制游戏进度的地方,处理好主循环是很重要的 ...

  4. cocos2dx中的定时器及其分类

    cocos2dx中的定时器分三大类: 1.帧循环定时器 2.一次性定时器 3.自定义定时器 一.帧循环定时器,顾名思义,每一帧都会执行一次,用于实时性要求比较高的场合,如碰撞检测 void sched ...

  5. 【转】 实现 Cocos2d-x 全局定时器

    转自:http://www.tairan.com/archives/3998 cocos2d-x 中有自己的定时器实现,一般用法是在场景,层等内部实现,定时器的生命周期随着它们的消亡而消亡,就运行周期 ...

  6. 【深入了解cocos2d-x 3.x】定时器(scheduler)的使用和原理探究(3)

    上篇文章分析到了定时器的定义.这篇的重点就是定时器是怎样执行起来的. 1.从main中寻找定时器的回调 讲定时器的执行,就不得不触及到cocos2dx的main函数了,由于定时器是主线程上执行的.并非 ...

  7. 定时器——Cocos2d-x学习历程(十一)

    1.定时器 利用场景.层和精灵等游戏元素,我们可以构建游戏的框架,但是此时的游戏仍然是静止不动的.在一切游戏中,游戏的状态都会随着时间的流逝而改变,同时我们还需要定时进行一些逻辑判断,例如鱼和子弹的碰 ...

  8. cocos2dx三种定时器使用

         cocos2dx三种定时器的使用以及停止schedule.scheduleUpdate.scheduleOnce 今天白白跟大家分享一下cocos2dx中定时器的用法. 首先,什么是定时 ...

  9. Cocos2d-x学习笔记(六) 定时器Schedule的简单应用

     Cocos2d-x中的定时器使用非常easy,共同拥有3种:schedule.scheduleUpdate和scheduleOnce.简介一下三种的差别: schedule,每隔指定时间运行某个 ...

随机推荐

  1. Android自定义Activity酷炫的动画跳转效果

    两个Activity跳转的时候,自定义翻页效果: Intent intent = new Intent(FirstActivity.this, SecondActivity.class);   sta ...

  2. android 屏幕适配问题【转】

      如何将一个应用程序适配在不同的手机上,虽然这不算是一个技术问题,但是对于刚刚做屏幕的开发人员来说,还真不是一件多么简单的事情. 首先:你需要在AndroidManifest.xml文件的<m ...

  3. Swift与Objective-C交互

    在同一个工程中是可以同时使用Swift和OC的,但不可以同时出现在同一个文件中. OC调用Swift相关信息的方法 在***.m文件中导入工程名-Swift.h即可. 如工程名为ABC,则在需要使用S ...

  4. xcode -饼状进度条

    界面搭建 创建一个画饼状的类  eatView 集成UIView #import "eatView.h" @implementation eatView // Only overr ...

  5. 一步一步学c#(四):继承

    继承 1·继承的类型 在面向对象的编程中,有两种截然不同的继承类型,实现继承和接口继承. 实现继承:表示一个类型派生于一个基类型,它拥有该基类型的所有成员字段和函数. 接口继承:表示一个类型只继承了函 ...

  6. JavaScript之arguments.callee

    arguments.callee 在哪一个函数中运行,它就代表哪个函数. 一般用在匿名函数中. 在匿名函数中有时会需要自己调用自己,但是由于是匿名函数,没有名子,无名可调. 这时就可以用argumen ...

  7. 【Java并发编程】并发编程大合集-值得收藏

    http://blog.csdn.net/ns_code/article/details/17539599这个博主的关于java并发编程系列很不错,值得收藏. 为了方便各位网友学习以及方便自己复习之用 ...

  8. Deep Learning(深度学习)学习笔记整理系列之(四)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  9. Java 内省机制

    一.内省 内省(Introspector) 是Java 语言对 JavaBean 类属性.事件的一种缺省处理方法.JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的 ...

  10. Javascript类型检测

    原地址 http://www.cnblogs.com/fool/archive/2010/10/07/javascrpt.html 开门见山,我们先来看一下代码: var is = function ...