CADisplay及定时器使用Second
来源:互联网 发布:图灵系列图书 知乎 编辑:程序博客网 时间:2024/06/07 01:30
第一种:
用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();就是用来释放对象的。
- CADisplay及定时器使用Second
- CADisPlay Link及定时器的使用
- 使用内核定时器的second字符设备驱动
- CADisplayLink 及定时器的使用
- CADisplayLink 及定时器的使用
- CADisplayLink 及定时器的使用
- CADisplayLink及定时器的使用
- CADisplayLink 及定时器的使用
- Spring定时器配置及使用
- CADisplayLink 及定时器的使用
- CADisplayLink 及定时器的使用
- CADisplayLink 及定时器的使用
- J2ME-定时器(TimerTask)使用及初探
- j2me-定时器(timertask)使用及初探
- J2ME-定时器(TimerTask)使用及初探
- linux内核定时器使用及原理
- linux内核定时器使用及原理
- VC/MFC 定时器设置及OnTimer使用
- 【问题解决】解决Yum安装中出现的mirrorlist.txt错误
- android 控件 下拉刷新 phoenix 带源码分析
- 自定义控件:圆形进度条的实现
- 高德地图SDK中AMapNaviView崩溃
- 两种方法求两个数的最大公约数和最小公倍数--C语言
- CADisplay及定时器使用Second
- linux 开机自动启动 shell
- PHP关于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本选择的问题
- git撤销本地修改与回退版本
- 偏函数
- Ubuntu下切换用户免密与smb挂载开启
- Elasticsearch安装ik分词
- asp.net web api - 使用多个Xml文件显示帮助文档
- 多线程Atomic和ThreadLocal