2013-04-10 3 views
1

Я использую ниже код для добавления спрайтов, которые будут созданы через каждые 1,5 секунд следующегоКак остановить запланированную runAction в cocos2d

[self schedule:@selector(addTraget:) interval:1.5]; 

-(void)addTraget:(ccTime)dt{ 
CCSprite *target = [CCSprite spriteWithFile:@"img1.png" rect:CGRectMake(0, 0, 80, 36)]; 

target.position = ccp(-target.contentSize.width/2, 100); 
[self addChild:target]; 
target.tag = 1; 

id actionMove = [CCMoveTo actionWithDuration:actualDuration*2.5 position:ccp(winSize.width + (target.contentSize.width/2), actualY)]; 
id actionMoveDone = [CCCallFuncN actionWithTarget:self selector:@selector(spriteMoveFinished:)]; 
id sequece = [CCSequence actions:delayTime1, calFun1, delayTime2, calFun2,actionMove, actionMoveDone, nil]; 
id repeate = [CCRepeatForever actionWithAction:sequece]; 

[target runAction:repeate]; 
} 

как метод addTarget запланирован тогда как остановить запланированное действие после того, как некоторое время после выполнения условия?

+0

использовать ниже код для графика. опция повторения есть [самозапуск: @selector (addTraget :) интервал: 1.5 повтор: NO delay: NO]; – Nims

+0

дорогой, я хочу повторить его в течение 1 мин или до того, как он удовлетворит условие ... я получил решение для этого [self unscheduleAllSelectors]; – KsK

ответ

4

только запланированную частности планировщик затем использовать это:

[self unschedule:@selector(addTraget:)]; 
4
[self unscheduleAllSelectors]; //For all selectors 

или

[self unschedule:@selector(YOURSELECTOR)]; //For specific selector 
Смежные вопросы