Как я могу медленно остановить CCActions? - PullRequest
2 голосов
/ 27 июня 2011

Я пытаюсь использовать CCRipple 3D с Cocos2D следующим образом:

-(void) addNewSpriteWithCoords:(CGPoint)p
   {
      id rippleAction = [CCRipple3D actionWithPosition:CGPointMake(p.x,p.y) radius:200 waves:10 amplitude:50 grid:ccg(32,24) duration:10];
      [self runAction:[CCSequence actions:rippleAction, [CCStopGrid action], nil]];
   }

(где px и py соответствуют координатам каждого касания.)

Но когдаэффект закончился, он внезапно останавливается, и я понятия не имею, как это изменить?(Я знаю, что CCStopGrid останавливает действие в сетке, но у меня больше нет подсказок)

Кто-нибудь знает, как можно плавно остановить эффект?

Большое вам спасибо.

Ответы [ 3 ]

1 голос
/ 02 марта 2012

Да, это сработало Sold Out Activist (извините за ответ, что вы так поздно)! то, что я сделал, было:

-(void) addNewSpriteWithCoords:(CGPoint)p
 {          

 id rippleAction = [CCRipple3D actionWithPosition:CGPointMake(p.x,p.y) radius:150 waves:1 amplitude:50 grid:ccg(50,50) duration:0.9];
id rippleAction2 = [CCRipple3D actionWithPosition:CGPointMake(p.x,p.y) radius:150 waves:1 amplitude:25 grid:ccg(50,50) duration:0.8];

id rippleAction5 = [CCRipple3D actionWithPosition:CGPointMake(p.x,p.y) radius:150 waves:1 amplitude:5 grid:ccg(50,50) duration:1.1];
[fondo runAction:[CCSequence actions:rippleAction, rippleAction2, rippleAction5, [CCStopGrid action], nil]];
  }
1 голос
/ 02 марта 2012

Вы можете использовать одно из множества «простых» действий, чтобы плавно масштабировать время, которое занимает другое действие.

И, конечно, есть документы по API (здесь только два примера, около 30 вариантов). Но все эти варианты в основном представляют собой варианты с разными скоростями, вперед, реверсом и их комбинациями.

1 голос
/ 18 августа 2011

Обернуть CCSequence в CCSpeed:

CCSequence* sequence = // action bits
CCSpeed* speed = [CCSpeed actionWithAction:sequence speed:1.0f];

Сохраните скорость, скажем, в переменной класса, затем используйте другую функцию, скажем, стандартный метод обновления, чтобы изменить скорость так, как вам нравится setSpeed:.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...