Как запустить обратную анимацию с Cocos3D?

Я использую приведенный ниже код для запуска анимации, но как отменить анимацию? (Например, модель двери имеет открытую анимацию, но я хочу сделать ее закрытой)

CC3ResourceNode* rezNode = [CC3PODResourceNode nodeFromFile: @"bd1hW1368.POD"];
    [self addChild: rezNode];

    CCActionInterval *stride = [CC3Animate actionWithDuration:10.0];
    [rezNode runAction:[CCRepeatForever actionWithAction:stride]];

[ОБНОВИТЬ]

В связи с ответом Билла я создаю непрерывную анимацию закрытия / открытия двери, как показано ниже:

    CC3ResourceNode* rezNode = [CC3PODResourceNode nodeFromFile: @"bd1hW1368.POD"];
    [self addChild: rezNode];

    CC3Animate *stride = [CC3Animate actionWithDuration:10.0];
    CC3Animate *reversedStride = [CC3Animate actionWithDuration:10.0];
    reversedStride.isReversed = YES;

    CCRepeatForever *repeat = [CCRepeatForever actionWithAction:[CCSequence actionWithArray:@[stride, reversedStride]]];
    [rezNode runAction:repeat];

1 ответ

Решение

Как и большинство CCActionInterval подклассы, CC3Animate поддерживает reverse метод, который возвращает новый CC3Animate Экземпляр настроен для запуска назад.

Вы также можете использовать то же самое CC3Animate экземпляр и установить isReversed собственность на YES, но создав отдельный экземпляр, используя reverse Этот метод позволит вам упростить выполнение таких действий, как последовательность действий при открытии двери с последующим действием при закрытии двери.

Другие вопросы по тегам