Исчезать изображения в CCSprite? - PullRequest
0 голосов
/ 25 ноября 2011

Возможно ли выцветать изображения в CCSprite?В настоящее время я знаю только, что в Cocos2D возможно исчезать через объекты, но я не был уверен, возможно ли это или нет.Есть ли способ сделать это?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 25 ноября 2011

Что ж, вы можете использовать CCFadeOut, чтобы удалить текущее изображение, и в то же время создать новый спрайт в той же позиции с непрозрачностью 0 и заставить его исчезать с CCFadeIn. Если вы делаете это одновременно, вы должны получить хороший эффект.

0 голосов
/ 11 сентября 2013

Вы можете исчезнуть с помощью 2 CCSprites на нескольких изображениях.

  1. CCSprite A, чтобы сделать непрозрачным переднюю zOrder 1
  2. CCSprite B, чтобы сделать прозрачным (если CCSprite A покрывает CCSprite B, тоэто не нужно), zOrder 0
  3. FadeOut CCSprite A и после этого установите его в фоновом режиме, zOrder 0
  4. CCSprite B zOrder 1 спереди, это видно после точки 2
  5. Обмен изображениями CCSprite A с каждым неровным
  6. повторите все, на этот раз приведите аргументы CCSprite A и B в обратном порядке

Обмен спрайтами:

CCCallBlock *exchangeImage = [CCCallBlock actionWithBlock:^{
    sprite.texture = [[CCTextureCache sharedTextureCache] addImage:@"image.png"];
}];

При необходимости добавьте задержку:

CCDelayTime *delayAction = [[CCDelayTime alloc] initWithDuration:0.4f];

Составьте повтор:

CCSequence *exchangeSequence = [CCSequence actions:exchangeImage, delayAction, nil];
CCRepeatForever *repeat = [CCRepeatForever actionWithAction:exchangeSequence];
[self runAction:repeat];
...