在特定时间开始CCAction

时间:2011-10-18 00:57:10

标签: iphone ios ipad cocos2d-iphone

我想在特定时间开始InFinite CCAction。我尝试使用CCSequence,但它只支持有限时间动画。

有什么想法吗?

最诚挚的问候, 第

2 个答案:

答案 0 :(得分:1)

将要重复的操作放在方法中。然后将它放在init方法

[[CCScheduler sharedScheduler] scheduleSelector:@selector(myMethod) forTarget:self interval:10 paused:NO];

这将在10秒后调用myMethod,但是一旦进入myMethod,你就会想要取消计划。所以我的方法看起来应该是这样的。

- (void) myMethod
{
    [[CCScheduler sharedScheduler] unscheduleSelector:@selector(myMethod) forTarget:self];
    CCMoveBy *move = [CCMoveBy actionWithDuration:3 position:ccp(75,0)];
    CCRepeatForever *repeat = [CCRepeatForever actionWithAction:move];
    [mySprite runAction:repeat];
}

答案 1 :(得分:0)

最后两行是你需要的。

CCMoveBy* move = [CCMoveBy actionWithDuration:3 position:ccp(75,0)];
CCCallFuncO* shot = [CCCallFuncO actionWithTarget:self selector:@selector(shoot:) object:enemy];
CCSequence* sequ = [CCSequence actions:move,shot,nil];
CCRepeatForever* repeat = [CCRepeatForever actionWithAction:sequ];
[sprite runAction:repeat]; //sprite here