1

我正在尝试为 Cocos2d 节点和 UIKit 视图设置动画,如下所示:

-(void)someFunction {
    [myCocosNode runAction:[CCMoveTo actionWithDuration:myTime position:cocosPoint]];
    [UIView animateWithDuration:myTime animations:^{ myView.frame = CGRectMake(uiPoint.x, uiPoint.y, myWidth, myHeight); }];
}

但 UIKit 视图的移动速度与 Cocos2d 节点的移动速度不同,它们处于相同的起始位置,到达相同的结束位置。

有任何想法吗?

4

1 回答 1

1

在此线程中找到了一个适用于 PhilM同步移动的解决方案。

他将 UIView 附加到 CCLayer 的子类,并在层移动时覆盖setPosition:以更新UIView' 位置。然后CCMoveTo在图层上使用将与移动同步UIView

-(void)setPosition:(CGPoint)pos {
    [super setPosition:pos];

   CGRect frame = slider.frame;
   frame.origin.y = frame.origin.y + ([self position].y - pos.y); // Changed this line a bit to get correct positioning
   slider.frame = frame;
}

谢谢菲尔姆!

于 2012-07-18T16:46:47.313 回答