0

我正在制作一个简单的应用程序,其中实心圆圈在屏幕上弹跳。现在,圆圈的速度是固定的,但我希望它们随机加速或减速。

我最初尝试使用 NSTimer,但我发现无法将时间间隔设置为不规则的。根据 Apple 的文档,对于 NSAnimation 类,“与 NSTimer 不同,动画通知可以不规则的间隔发生,允许您创建看起来加速或减速的动画。”

所以看来我应该使用 NSAnimation 类。但是,当我查看 NSAnimation 中的绘图过程时,它似乎笨重且有限。我想制作几个圆圈并为它们的行为定义参数,所以我喜欢使用更简单的框架,例如 cocos2d-iphone。

可以用cocos2d的调度器做不规则的间隔吗?还是我必须使用 NSAnimation?

cocos2d 调度器如下所示:

-(id) init
{
    if( ! [super init] )
        return nil;

    // schedule timer
    [self schedule: @selector(tick:)];
    [self schedule: @selector(tick2:) interval:0.5];

    return self;
}

-(void) tick: (ccTime) dt
{
    // bla bla bla
}

-(void) tick2: (ccTime) dt
{
    // bla bla bla
}
4

1 回答 1

0

与其更改定时器延迟,不如设置一个恒定的定时器间隔(比如 20 Hz)并改为更改移动增量?

于 2009-07-17T15:26:23.227 回答