Запуск CCAction в определенное время - PullRequest
0 голосов
/ 18 октября 2011

Я хочу запустить InFinite CCAction в определенное время.Я пытался использовать CCSequence, но он поддерживает только анимацию с конечным временем.

Есть идеи?

С наилучшими пожеланиями, Paras

Ответы [ 2 ]

1 голос
/ 18 октября 2011

Поместите действие, которое вы хотите повторить, внутри метода. Затем поместите это в ваш метод инициализации

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

Это вызовет myMethod через 10 секунд, однако, попав в 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];
}
0 голосов
/ 18 октября 2011

Последние две строки - это то, что вам нужно.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...