对象动画 - c4framework

时间:2012-04-30 18:35:15

标签: ios c4

我目前正在开发一个使用alpha C4框架构建的项目。

我试图在应用程序启动时立即启动动画,而不必使用某种类型的交互来实现它(即touchesBegan)......

但不幸的是我无法弄明白。

1 个答案:

答案 0 :(得分:2)

在C4中,这样做的方法是利用以下方法:

-(void)performSelector:withObject:afterDelay:

而且,对于当前版本的C4,使用它的最佳方式是:

#import "C4WorkSpace.h"

@interface C4WorkSpace ()
-(void)methodToRunImmediately;
@end

@implementation C4WorkSpace {
    C4Shape *circle;
}

-(void)setup {
    circle = [C4Shape ellipse:CGRectMake(100, 100, 100, 100)];
    [self.canvas addShape:circle];
    [self performSelector:@selector(methodToRunImmediately) withObject:nil afterDelay:0.1];
}

-(void)methodToRunImmediately {
    circle.animationDuration = 1.0f;
    circle.animationOptions = AUTOREVERSE | REPEAT;
    circle.center = CGPointMake(384, 512);
}
@end

此代码将在1/10秒延迟后启动您的动画......这将立即显示。


上面的答案是很久以前发布的,我们能够为此实现更简单的方法,不需要知道选择器是什么。现在可以使用以下代码运行上面的代码:

-(void)runMethod:afterDelay:

这样,在C4中,原始行:

[self performSelector:@selector(methodToRunImmediately) 
           withObject:nil 
           afterDelay:0.1];

...可以改写为:

[self runMethod:@"methodToRunImmediately" afterDelay:0.1];