Cocos2d-x学习笔记(14)(更新函数scheduleUpdate、进度计时器CCProgressTo、滚动视图CCScrollView)
一、scheduleUpdate
1、scheduleUpdate:此函数是CCNode的函数,每一个CCNode仅仅要调用scheduleUpdate更新函数,那么这个CCNode就会响应当前类的update(float dt)函数。
首先在头文件里定义update函数:void update(float dt);
接下来在cpp文件里的初始化函数调用scheduleUpdate()函数;
实现update更新函数。
2、schedule:其作用于scheduleUpdate()函数同样,可是scheduleUpdate()默认每一帧都会调用update函数,而schedule则能够自己定义调用更新函数的时间间隔。
1)schedule(SEL_SCHEDULE selector,float interval)//
參数1:目标更新函数
參数2:更新间隔
如:schedule(schedule_selector(HelloWorld::myUpdate),1.0f);每秒更新运行一次。仅仅需实现自己定义函数myUpdate()
3、停止更新函数的方法
1)停止默认的update函数:unscheduleUpdate();
2)停止自己定义更新函数:unschedule(SEL_SCHEDULE selector);
3)停止全部的更新函数:unscheduleAllSelectors();
二、CCProgressTo
1、创建方式
CCProgressTimer::create(cocos2d::CCSprite* sp)
在cocos2d-x中对于进度条计时器设置了两种样式:
1)kCCProgressTimerTypeRadial:扇形进度计时器,经常使用函数例如以下:
(1)setPercentage(float fPercentage)//设置进度,范围0-100
(2)setReverseProgress(bool reverse)//设置反向计时
2)kCCProgressTimerTypeBar:条形进度计时器
(1)setMidpoint(CCPoint midPoint)//改动进度计时器的開始位置
參数:中心点,范围0-1,默认值为cpp(0.5,0.5)
当设置參数为cpp(0,y),则会从左到右进行计时
当设置參数为cpp(1,y),则会从右到左进行计时
当设置參数为cpp(x,0),则会从底部到顶部进行计时
当设置參数为cpp(x,1),则会从顶部究竟部进行计时
(2)setBarChangeRate(CCPoint var)//改动条形计时器的比例
參数:默觉得cpp(1,1)
当设置參数为cpp(1,1)起始计时器的宽高为0,
当设置參数为cpp(0,0)起始计时器的宽高是100%
三、CCScrollView滚动视图
1、创建方式
1)CCScrollView* create(CCSize size,CCNode* container = NULL)//创建一个滚动视图
參数1:滚动视图的尺寸
參数2:滚动视图中的容器,滚动视图的容器能够无限增加节点CCNode对象。
2)CCScrollView::create()//创建一个滚动视图,默认尺寸是200*200
2、经常使用函数
1)bool isDragging()//用户是否正在对容器进行操作
2)bool isTouchMoved()//用户是否正在移动容器
3)bool isBounceable()//是否开了弹性效果
4)setContainer(CCNode* pContainer)//设置容器,參数为节点CCNode对象
5)setViewSize(CCSize size)//设置滚动视图尺寸
6)setBounceable(bool bBounceable)//设置是否开启弹性效果
7)CCNode* getContainer()//获取容器
8)CCSize getViewSize()//获取滚动视图的尺寸
对于CCScrollView而言,另一个托付CCScrollViewDelegate监听CCScrollView的状态,CCScrollViewDelegate有两个回调函数,入下:
1)virtual void scrollViewDidScroll(CCScrollView* view)//滚动视图有滚动时响应的函数
2)virtual void scrollViewDidZoom(CCScrollView* view)//滚动视图有缩放时响应的函数
Cocos2d-x学习笔记(14)(更新函数scheduleUpdate、进度计时器CCProgressTo、滚动视图CCScrollView)的更多相关文章
- Ext.Net学习笔记14:Ext.Net GridPanel Grouping用法
Ext.Net学习笔记14:Ext.Net GridPanel Grouping用法 Ext.Net GridPanel可以进行Group操作,例如: 如何启用Grouping功能呢?只需要在Grid ...
- SQL反模式学习笔记14 关于Null值的使用
目标:辨别并使用Null值 反模式:将Null值作为普通的值,反之亦然 1.在表达式中使用Null: Null值与空字符串是不一样的,Null值参与任何的加.减.乘.除等其他运算,结果都是Null: ...
- golang学习笔记14 golang substring 截取字符串
golang学习笔记14 golang substring 截取字符串golang 没有java那样的substring函数,但支持直接根据 index 截取字符串mystr := "hel ...
- mybatis学习笔记(14)-查询缓存之中的一个级缓存
mybatis学习笔记(14)-查询缓存之中的一个级缓存 标签: mybatis mybatis学习笔记14-查询缓存之中的一个级缓存 查询缓存 一级缓存 一级缓存工作原理 一级缓存測试 一级缓存应用 ...
- Python3+Selenium3+webdriver学习笔记14(等待判断 鼠标事件 )
!/usr/bin/env python -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记14(等待判断 鼠标事件 )'''from selenium im ...
- 并发编程学习笔记(14)----ThreadPoolExecutor(线程池)的使用及原理
1. 概述 1.1 什么是线程池 与jdbc连接池类似,在创建线程池或销毁线程时,会消耗大量的系统资源,因此在java中提出了线程池的概念,预先创建好固定数量的线程,当有任务需要线程去执行时,不用再去 ...
- 【转】 C#学习笔记14——Trace、Debug和TraceSource的使用以及日志设计
[转] C#学习笔记14——Trace.Debug和TraceSource的使用以及日志设计 Trace.Debug和TraceSource的使用以及日志设计 .NET Framework 命名空 ...
- [C++学习笔记14]动态创建对象(定义静态方法实现在map查找具体类名对应的创建函数,并返回函数指针,map真是一个万能类)good
[C++学习笔记14]动态创建对象 C#/Java中的反射机制 动态获取类型信息(方法与属性) 动态创建对象 动态调用对象的方法 动态操作对象的属性 前提:需要给每个类添加元数据 动态创建对象 实 ...
- QML学习笔记(六)- 简单计时器和定时器
做一个简单的qml计时器和定时器,左键触发计时,右键触发定时 GitHub:八至 作者:狐狸家的鱼 本文链接:QML学习笔记(六)- 简单计时器和定时器 左键点击按钮,触发计时器,中键可以暂停计时,同 ...
- Xamarin iOS教程之进度条和滚动视图
Xamarin iOS教程之进度条和滚动视图 Xamarin iOS 进度条 进度条可以看到每一项任务现在的状态.例如在下载的应用程序中有进度条,用户可以很方便的看到当前程序下载了多少,还剩下多少.Q ...
随机推荐
- python基础课程_学习笔记26:编程的乐趣
编程的乐趣 编程柔术 当你坐下来,打算如何组织计划要定时,具体程序,然而,无论什么经验.在实现时间的函数的,你会逐渐学会了原来的设计,实用的新知识.我们不应该忽视沿途汲取的教训,相反,它们用于其他设计 ...
- MCC460MNC08
因为搜得辛苦,正好也写点关于我morto工作有关的事情,给大家和我一样扫盲,哈哈 The GSM Mobile Country Code (MCC) is different from the i ...
- 使用exchange普通表模式被切换到分区表
随着数据库的不断增长的数据量.有些表需要转换的普通堆表分区表模式. 有几种不同的方式来执行此操作,如出口数据表,区表再导入数据到分区表:使用EXCHANGE PARTITION方式来转换为分区表以及使 ...
- Kafka (一)
使用Kafka最新版本0.9 Kafka 配置 1. 安装 首先需要安装Java,推荐安装Java8,不然会出现一些莫名其妙的错误 kafka_2.11-0.9.0.0.tgz tar -xzf ka ...
- MsSqlServer 语句
--假设 成绩>100 优 --假设成绩>90 良 select * from TblScore select 英语成绩= (case when tEnglish>90 then ...
- Cytoscape画图初探
Cytoscape是一个做网络图的js插件.用起来非常方便,并且非常强大.这是它的站点:点击打开链接 使用它须要导入两个文件,一个是js文件,一个是css文件.官网上下载. 这里实现了一个功能.即从后 ...
- Java静态字段(属性、方法、类别)
假设域被定义为static,那么每个类中仅仅有一个这种域.作为对照,每个对象对于全部的实例域却都有自己的一份拷贝. 比如,假定须要给每个雇员赋予唯一的标识码. 这里给Employee类加入一个实例域i ...
- Oracle查询速度慢的原因总结
Oracle查询速度慢的原因总结 查询速度慢的原因很多,常见如下几种:1,没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2,I/O吞吐量小,形成了瓶颈效应.3,没有创建计算列导致 ...
- web开发性能优化---UI接口章
1.尽可能的远div+css设计 DIV+CSS与表相比格优势布局: a.精简代码 采用DIV+CSS设计,页面代码精简.这是为了XHTML了解都知道. 代码精简所带来的直接优点有两点:一是提高蜘蛛爬 ...
- 【C++】智能指针auto_ptr简单的实现
//[C++]智能指针auto_ptr简单的实现 #include <iostream> using namespace std; template <class _Ty> c ...