CADisplayLink 及定时器的使用
来源:互联网 发布:网络教育文凭工作 编辑:程序博客网 时间:2024/06/05 11:17
第一种:
用CADisplayLink可以实现不停重绘。
例子:
CADisplayLink* gameTimer;
gameTimer = [CADisplayLink displayLinkWithTarget:self
selector:@selector(updateDisplay:)];
[gameTimer addToRunLoop:[NSRunLoop currentRunLoop]
forMode:NSDefaultRunLoopMode];
第二种:
int CCApplication::run(){ if (applicationDidFinishLaunching()) { [[CCDirectorCaller sharedDirectorCaller] startMainLoop];//主循环开始 } return 0;}
继续跟进startMainLoop函数
-(void) startMainLoop{ // CCDirector::setAnimationInterval() is called, we should invalidate it first [displayLink invalidate]; displayLink = nil; // displayLink是CADisplayLink对象,target是自己,回调是coCaller displayLink = [NSClassFromString(@"CADisplayLink") displayLinkWithTarget:self selector:@selector(doCaller:)];//看这个doCaller回调 [displayLink setFrameInterval: self.interval];//设置帧率 [displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];//添加到循环并启动}
看doCaller回调,
void CCDisplayLinkDirector::mainLoop(void){ if (m_bPurgeDirecotorInNextLoop) { m_bPurgeDirecotorInNextLoop = false; purgeDirector(); } else if (! m_bInvalid) { drawScene();// draw the scene // release the objects CCPoolManager::sharedPoolManager()->pop(); }}好,一个循环完了。最后看到CCPoolManager::sharedPoolManager()->pop();就是用来释放对象的。
第三种:
IOS--NSTimer和CADisplayLink的用法
NSTimer初始化器接受调用方法逻辑之间的间隔作为它的其中一个参数,预设一秒执行30次。CADisplayLink默认每秒运行60次,通过它的frameInterval属性改变每秒运行帧数,如设置为2,意味CADisplayLink每隔一帧运行一次,有效的逻辑每秒运行30次。
版权声明:本文为博主原创文章,未经博主允许不得转载。
0 0
- CADisplayLink 及定时器的使用
- CADisplayLink 及定时器的使用
- CADisplayLink 及定时器的使用
- CADisplayLink及定时器的使用
- CADisplayLink 及定时器的使用
- CADisplayLink 及定时器的使用
- CADisplayLink 及定时器的使用
- CADisplayLink 及定时器的使用
- CADisplayLink以及定时器的使用
- 定时器的使用NStimer 和CADisplayLink
- Quartz2d 使用UIkit绘图方法 CADisplayLink 定时器
- CADisplayLink 的使用
- iOS经典讲解之NSTimer、CADisplayLink、GCD三种定时器的使用
- IOS学习之—— 定时器 NSTimer 和 CADisplayLink 类的使用
- 定时器CADisplayLink与NSTimer
- CADisplayLink做定时器任务
- iOS CADisplayLink定时器
- 绘图定时器,CADisplayLink
- 华为机试题:判断一个数字中是否包含两个相同的子串
- App主界面Tab实现方法
- cocoapods 的安装与使用
- 修改docker镜像,容器存放位置。
- POJ 1141 区间DP
- CADisplayLink 及定时器的使用
- 关于Linux下的iptables
- Web App简介
- 整形数组的赋值方式小结及注意事项
- 田忌赛马
- iOS应用程序生命周期
- HDU 1021 Fibonacci Again
- JSP中传递参数的几种方法的简介
- 线程池20150729