我想在特定时间开始InFinite CCAction。我尝试使用CCSequence,但它只支持有限时间动画。
有什么想法吗?
最诚挚的问候, 第
答案 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