Ios 在CCSprite中淡出图像?

Ios 在CCSprite中淡出图像?,ios,animation,cocos2d-iphone,ccsprite,Ios,Animation,Cocos2d Iphone,Ccsprite,是否可以在CCSprite中淡出图像?目前我只知道在Cocos2D中可以通过对象淡入淡出,但我不确定这是否可行。 有没有办法做到这一点 谢谢 您可以使用CCFadeOut删除当前图像,同时在不透明度为0的相同位置创建新精灵,并使用CCFadeIn使其淡入。如果您同时执行此操作,应该会获得很好的效果。好的,您可以使用CCFadeOut删除当前图像,同时在不透明度为0的相同位置创建新精灵,并使用CCFadeIn使其淡入。如果同时使用,效果会很好。您可以使用2个CCSprite在多个图像中淡入淡出 C

是否可以在CCSprite中淡出图像?目前我只知道在Cocos2D中可以通过对象淡入淡出,但我不确定这是否可行。 有没有办法做到这一点


谢谢

您可以使用
CCFadeOut
删除当前图像,同时在不透明度为0的相同位置创建新精灵,并使用
CCFadeIn
使其淡入。如果您同时执行此操作,应该会获得很好的效果。

好的,您可以使用
CCFadeOut
删除当前图像,同时在不透明度为0的相同位置创建新精灵,并使用
CCFadeIn
使其淡入。如果同时使用,效果会很好。

您可以使用2个CCSprite在多个图像中淡入淡出

  • CCSprite A至不透明至前zOrder 1
  • 将CCSprite B转换为透明(如果CCSprite A覆盖了CCSprite B,则不需要),zOrder 0
  • 淡出CCSprite A,然后将其置于背景中,zOrder 0
  • CCSprite B zOrder 1在前面,它位于点2之后
  • 将CCSprite A的图像交换给每个用户
  • 重复所有步骤,这次以相反的顺序给出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];
    

    您可以使用2个CCSprite在多个图像中淡入淡出

  • CCSprite A至不透明至前zOrder 1
  • 将CCSprite B转换为透明(如果CCSprite A覆盖了CCSprite B,则不需要),zOrder 0
  • 淡出CCSprite A,然后将其置于背景中,zOrder 0
  • CCSprite B zOrder 1在前面,它位于点2之后
  • 将CCSprite A的图像交换给每个用户
  • 重复所有步骤,这次以相反的顺序给出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];
    

    “淡入”通常指改变图像的透明度。有些事告诉我这不是你的意思。你能更详细地解释一下吗?嗯,我想在我的CCSprite中更改图像,但不是立即更改,我想通过图像设置更改的动画。我想术语“变换”在这里起作用:我想用一个CCSprite来实现这一点,因为下面的回答者希望我使用多个sprite,这使事情对我来说变得100%困难。你的意思是动画,即为sprite制作动画。淡入与透明度有关,变换意味着“改变位置”。正确!那么我该怎么做呢?“淡入”通常意味着改变图像的透明度。有些事告诉我这不是你的意思。你能更详细地解释一下吗?嗯,我想在我的CCSprite中更改图像,但不是立即更改,我想通过图像设置更改的动画。我想术语“变换”在这里起作用:我想用一个CCSprite来实现这一点,因为下面的回答者希望我使用多个sprite,这使事情对我来说变得100%困难。你的意思是动画,即为sprite制作动画。淡入与透明度有关,变换意味着“改变位置”。正确!那么我该怎么做呢?我怎么能用一个精灵做到这一点?如果你只有一个精灵,你怎么能期望“通过图像淡出”呢?我不知道这就是为什么我需要建议:P这一定是可能的!我认为你的问题提得不恰当。试着用不同的词来代替,因为我想我没有完全理解你的意思。我怎么能用一个精灵来实现这一点?如果你只有一个精灵,你怎么能期望“通过图像淡出”呢?我不知道这就是为什么我需要建议:P这一定是可能的!我认为你的问题提得不恰当。试着用不同的词来代替,因为我想我没有完全理解你的意思。