Как запустить обратную анимацию с помощью 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];

person ZYiOS    schedule 15.06.2014    source источник


Ответы (1)


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

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

person Bill Hollings    schedule 15.06.2014
comment
Спасибо, Билл, это работает, я обновляю свой вопрос ответом. - person ZYiOS; 17.06.2014