2011-11-24 30 views
0

是否可以淡入淡出CCSprite中的圖像?目前我只知道它可能會淡入Cocos2D中的對象,但我不確定這是否可行。 有沒有辦法做到這一點?在CCSprite中淡入圖像?

謝謝!

+0

「變臉」 通常是指改變透明度的圖像。有些事告訴我這不是你的意思。你能詳細解釋一下嗎? – LearnCocos2D

+0

嗯,我想改變我的CCSprite中的圖像不是馬上,我想通過圖像動畫變化。我猜這個術語轉換可以在這裏工作:P –

+0

另外我想用一個CCSprite來實現這一點,因爲下面的回答者希望我使用多個精靈,這使得我的工作100%更加困難。 –

回答

3

那麼,您可以使用CCFadeOut刪除當前圖像,同時在不透明度爲0的相同位置創建新的精靈,並使其與CCFadeIn淡入。如果你同時做到這一點,你應該得到一個很好的效果。

+0

我怎樣才能實現這與一個精靈? –

+0

無論如何,如果你只有一個「淡化圖像」,你期望如何? – Voldemort

+0

我不知道這就是爲什麼我需要建議:P它一定是可能的! –

0

您可以通過多個圖像淡入2個CCSprites。

  1. CCSprite A至不透明到前ZORDER 1
  2. CCSprite B至透明(如果CCSprite甲覆蓋CCSprite B,則這是沒有必要),ZORDER 0
  3. 淡出CCSprite A和該把它後在後臺,ZORDER 0
  4. CCSprite乙ZORDER 1中的前部,它是點之後看到2
  5. CCSprite A的每一個不均勻
  6. 重複一切
  7. 交換圖像,此時給予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];