Cocos2d iphone 将精灵隐藏在屏幕上,然后淡入

Cocos2d iphone 将精灵隐藏在屏幕上,然后淡入,cocos2d-iphone,Cocos2d Iphone,我需要在屏幕上放置一些ccsprite,稍后将淡入屏幕。 我无法隐藏它们,因为CCFade操作对隐藏的精灵或透明度为0的精灵不起作用 我要做的是将它们放在屏幕上并淡出: [colors[i] runAction:[CCFadeOut actionWithDuration:0]]; [self addChild:colors[i] z:0]; 事实证明,在零时间内淡出并不是看不见的,所以当我将它们添加到CCScene时,它们会出现一秒钟。 我如何将它们放在屏幕上让它们看不见,然后用CCFadeI

我需要在屏幕上放置一些
ccsprite
,稍后将淡入屏幕。 我无法隐藏它们,因为
CCFade
操作对隐藏的精灵或透明度为0的精灵不起作用

我要做的是将它们放在屏幕上并淡出:

[colors[i] runAction:[CCFadeOut actionWithDuration:0]];
[self addChild:colors[i] z:0];
事实证明,在零时间内淡出并不是看不见的,所以当我将它们添加到
CCScene时,它们会出现一秒钟。


我如何将它们放在屏幕上让它们看不见,然后用
CCFadeIn
操作将它们淡入淡出?

您可以使用sprite.opacity=0;最初
在动作中,可以增加不透明度

可以使用序列堆叠动作。请参见我的一个项目中的以下示例:

CCSprite *frame1 = [CCSprite spriteWithSpriteFrame:[frames objectAtIndex:0]];
frame1.flipX = self.flipX;
frame1.scale = self.scaling;
frame1.visible = NO;
frame1.opacity = 255;
frame1.rotation = self.rotation;
frame1.position = self.offset;
animation = [CCAnimation animationWithSpriteFrames:frames delay:(duration / self.numberOfFrames)];
id stall = [CCDelayTime actionWithDuration:delay];
id show = [CCShow action];
id animate = [CCAnimate actionWithAnimation:animation];
id hide = [CCHide action];
id clean = [CCCallBlock actionWithBlock:^{
    [frame1 removeFromParentAndCleanup:YES];

}];
id enchiladas = [CCSequence actions:stall, show, animate, hide, clean, nil];

[node addChild:frame1 z:5];
[frame1 runAction:enchiladas];

类似的事情。我想运行一个动画,该动画将在设定的延迟时间后出现,然后在完成后消失并清理。

使用[CCFadeTo Action WithDuration:1.25f opacity:255]在1.25秒内从当前不透明度淡入完全不透明度(例如)。