要写游戏首先希望屏幕绘制能定时刷新,那么我们就开一个定时器。固定时间刷新屏幕。定时器是在initWithFrame中打开的
mTimer = [NSTimer scheduledTimerWithTimeInterval:0.017 //多少秒刷新一次
target:self
selector: @selector(update:)
userInfo:nil
repeats:YES];
fps=60,希望能这样。呵呵。
我的刷新函数是 update;
-(void)update:(NSTimer *)mTimer
{
[self setNeedsDisplay];//这个就是刷新屏幕的。
//检测不到触摸的情况下调用。网上摘来的。貌似我还每出现过。
//[[NSRunLoop currentRunLoop] runUntilDate: [NSDate distantPast]];
}
当然我写了一个计算fps的函数。
-(void)caculateFPS:(BOOL)aShow
{
CFTimeInterval atime = CFAbsoluteTimeGetCurrent();
float dt = atime - mOldTime;
if(dt >= 1)
{
mFPS = mTmpFPS;
mOldTime = atime;
mTmpFPS = 1;
}else{
mTmpFPS++;
}
if(aShow)
{
NSLog(@"FPS:%d",mFPS);//以后绘制文字ok了这里就直接写在屏幕上。
}
}