[cocos2d-x]关于定时器
什么是定时器
定时器的作用就是每隔一段时间,就执行一段自定义的动作,比如飞机向前方移动,子弹的移动等等。该函数定义在CCNode头文件中,基本上cocos2dx中所有的东西都能够使用定时器。
定时器的分类
第一种:scheduleupdate()默认定时器
该定时器开启函数与update()函数配套使用,update方法是每一帧执行一次,所以如果默认每秒60帧,那么每秒就执行60次。
使用方法:
class Test:public Scene
{
....
virtual void update(float f);
....
}
bool init()
{
Scene::create();
this->scheduleupdate();//开始进行update操作
}
void update(float f)
{
....//进行的一些自定义操作
}
第二种:schedule()自定义计时器
这种定时器的灵活性更加大,比如设置新的函数代替update函数,定义刷新的次数和间隔。
this->schedule(schedule_selector(GameTest::update),1,1,1);
@param selector The SEL_SCHEDULE selector to be scheduled.
* @param interval Tick interval in seconds. 0 means tick every frame. If interval = 0, it's recommended to use scheduleUpdate() instead.
* @param repeat The selector will be executed (repeat + 1) times, you can use CC_REPEAT_FOREVER for tick infinitely.
* @param delay The amount of time that the first tick will wait before execution.
第三种:scheduleOnce()一次性定时器
顾名思义,这种定时器只会执行一次。
this->scheduleOnce(schedule_selector(GameTest::update), 1.1);
* @param selector The SEL_SCHEDULE selector to be scheduled.
* @param delay The amount of time that the first tick will wait before execution.
定时器的通用操作
this->unschedule(schedule_selector(GameTest::update));
//取消自定义的函数
this->unscheduleAllSelectors();
//取消所有的自定义函数
this->unscheduleUpdate();
//取消默认的update函数
this->unscheduleAllCallbacks();
//取消所有的自定义函数,lambda函数,update函数,但是action动作不会被影响
this->pauseSchedulerAndActions();
//暂停定时器和动作
this->resumeSchedulerAndActions();
//恢复定时器和动作
[cocos2d-x]关于定时器的更多相关文章
- cocos2d JS 利用定时器实现-倒计时功能
//创建一个定时器 cc.director.getScheduler().schedule(this, this.updates, 1, cc.REPEAT_FOREVER, 0, false, &q ...
- 6.cocos2d设置定时器
T1LayerAnchorPoint.h #pragma once #include "cocos2d.h" USING_NS_CC; class T1LayerAnchorPoi ...
- cocos2d 定时器
//获取当前系统的语言 LanguageType language=CCApplication::sharedApplication()->getCurrentLanguage(); //每一帧 ...
- Cocos2d-x 3.2 学习笔记(十六)保卫萝卜 游戏主循环与定时器
保卫萝卜~想法一直存在于想法,实战才是硬道理!有想法就去实现,眼高手低都是空谈. 一.游戏主循环GameSchedule 主循环是游戏处理逻辑,控制游戏进度的地方,处理好主循环是很重要的 ...
- cocos2dx 3.x(定时器或延时动作自动调用button的点击响应事件)实现自动内测
// // ATTGamePoker.hpp // MalaGame // // Created by work on 2016/11/09. // // #ifndef ATTGamePoker_h ...
- cocos2dx 3.x(一张背景图利用定时器实现循环轮播)
// // MainScene.hpp // helloworld // // Created by apple on 16/9/19. // // #ifndef MainScene_hpp #de ...
- 【转】 实现 Cocos2d-x 全局定时器
转自:http://www.tairan.com/archives/3998 cocos2d-x 中有自己的定时器实现,一般用法是在场景,层等内部实现,定时器的生命周期随着它们的消亡而消亡,就运行周期 ...
- cocos2d 高仿doodle jump 无源代码
1. 游戏视频 主角眼熟吗?没错,上次跑酷游戏中的"30"来Jump了,有三种道具.主角光环,竹蜻蜓.翅膀: 有两种怪物,螃蟹和鸟: 有5种板子.点击屏幕,30会把它的嘴巴3给发射 ...
- cocos2d 游戏开发实战
文章转自:http://uliweb.clkg.org/tutorial/read/40 6 cocos2d 游戏开发实战 6.1 创建cocos2d项目 6.2 cocos2d v3 & ...
- Cocos2d-x 源代码分析 : Scheduler(定时器) 源代码分析
源代码版本号 3.1r,转载请注明 我也最终不out了,開始看3.x的源代码了.此时此刻的心情仅仅能是wtf! !!!!!!! !.只是也最终告别CC时代了. cocos2d-x 源代码分析文件夹 h ...
随机推荐
- Request method ‘POST‘ not supported。 Failed to load resource: net::ERR_FAILED
1.问题描述 技术栈:前后端项目分离(Springboot+Vue+MybatisPlus) 前端报错信息: 后端报错信息: 2.问题分析 这里使用了ResultFul风格的接口设计方式.增删改查对应 ...
- springMVC必要jar包
spring-aop-4.3.2.RELEASE.jar :: 包含在应用中使用Spring 的AOP 特性时所需的类和源码级元数据支持. spring-beans-4.3.2.RELEASE.jar ...
- SQL中的内置函数
IsNull的使用 isnull(name,' ')<>' ' ---如果name为null则就将name转化为' ',然后判断不等于' ', 目的:判断name不等于null ...
- 学习笔记之——C语言 函数
采用函数的原因: 随着程序规模的变大,产生了以下问题: --main函数变得相当冗杂 --程序复杂度不断提高 --代码前后关联度提高,修改代码往往牵一发而动全身 --变量使用过多,命名都成了问题 -- ...
- 第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令
目录 3 安装配置 3.1 安装GCC 3.2 安装libevent 3.3 安装libfastcommon 3.4 安装FastDFS 3.5 安装fastdfs-nginx-module 3.5 ...
- Datatable 数据源
数据源类型 Datatable可以使用三种基本的JavaScript数据类型作为数据源 数组(Arrays[]) 对象(objects{}) 实例(new myclass()) 目前使用过的为前两种, ...
- hutool包的DateUtil工具类
[首先引入依赖 ] <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-core& ...
- C#使用内存和指针方式将字节数组转换为Bitmap
/// <summary> /// 指针方式转 /// </summary> /// <param name="Width">图像的宽</ ...
- php 高并发
1 swoole的博客 http://rango.swoole.com/archives/508 2 消息队列 3 接口并发请求
- 【Java并发008】原理层面:ReentrantLock中 await()、signal()/signalAll()全解析
一.前言 上篇的文章中我们介绍了AQS源码中lock方法和unlock方法,这两个方法主要是用来解决并发中互斥的问题,这篇文章我们主要介绍AQS中用来解决线程同步问题的await方法.signal方法 ...