【发布时间】:2014-02-27 17:17:59
【问题描述】:
我正在尝试使用CADisplayLink 调用MoveObjects 函数来为一些UIImageViews 设置动画以“跌倒”页面。然而,尽管函数调用的间隔是一致的 0.0155-0.017 秒,但动画似乎每隔几帧就会断断续续,就像我尝试使用 NSTimer 调用函数时一样。是不是我做错了什么,导致口吃?
在viewDidLoad:
displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(gameLoop)];
displayLink.frameInterval=1;
[displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
当前 gameloop pnly 调用 UpdateObjects:
-(void)updateObjects{
timeStamp=[displayLink timestamp];
double frameTime=timeStamp-oldTime;
oldTime= timeStamp;
if (frameTime>10){
frameTime=0;
}
NSLog(@"%f",frameTime);
for (int i=0; i<objectsArray.count; i+=1) {
UIImageView *currentObject=[objectsArray objectAtIndex:i];
CGRect currentObjectFrame=[currentObject frame];
[currentObject setFrame:CGRectMake(CGRectGetMinX(currentObjectFrame), CGRectGetMinY(currentObjectFrame)+200*frameTime,CGRectGetWidth(currentObjectFrame) , CGRectGetHeight(currentObjectFrame))];
}
}
【问题讨论】:
-
有什么理由不使用
CAAnimation或UIKitDynamics进行秋季运动?
标签: ios objective-c cadisplaylink