Импульсная анимация на iPhone - PullRequest
3 голосов
/ 29 октября 2011

Используя cocos2d, как я могу добиться импульсной анимации с помощью действий.

Я знаю, что мне понадобится CCScaleTo и, вероятно, CCRepeat, но я не знаю, как их собрать.

Ответы [ 3 ]

2 голосов
/ 31 октября 2011

Просто для полноты в дополнение к описанному выше ответу Джеймса вам нужно вызвать метод [runAction ...] для вашего объекта CCNode и передать ему действие - то есть код, предоставленный Джеймсом как есть.

Чтобы остановить пульсирующий эффект, вы можете вызвать [stopAllActions ...] на вашем CCNode.

Best

2 голосов
/ 29 октября 2011

Получил это почти сразу!Это пульсирует объект навсегда с периодом 2 секунды и увеличивается на 10%.

[CCRepeatForever actionWithAction:
    [CCSequence actions:
      [CCScaleTo actionWithDuration:1.0f scale:1.1f],
      [CCScaleTo actionWithDuration:1.0f scale:1.0f],
      nil]]];
1 голос
/ 24 января 2012

Или CCFadeTo в зависимости от того, как вы хотите, чтобы ваша анимация выглядела ...

- (void) pulseStop {
    [mySprite stopAllActions];
}

- (void) pulseStart {
    [mySprite setOpacity:1.0];
    CCFadeTo *fadeToIn = [CCFadeTo actionWithDuration:1.0 opacity:50];
    CCFadeTo *fadeToOut = [CCFadeTo actionWithDuration:1.0 opacity:255];

    [mySprite runAction:[CCRepeatForever actionWithAction:[CCSequence actionOne:fadeToIn two:fadeToOut]]];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...