0

CCsprites後で画面にフェードインする画面にいくつか配置する必要があります。CCFadeアクションは非表示のスプライト、または。を含むスプライトでは機能しないため、非表示にすることはできませんopacity=0

私がしていることは、それらを画面に表示してフェードアウトすることです:

[colors[i] runAction:[CCFadeOut actionWithDuration:0]];
[self addChild:colors[i] z:0];

ゼロ時間でフェードアウトすることが判明したnot unseenので、追加した瞬間に一瞬表示されますCCScene.

CCFadeInそれらを画面に表示して見えないようにし、アクションでフェードインする方法を教えてください。

4

2 に答える 2

0

sprite.opacity=0を使用できます。最初とアクションで不透明度を上げることができます

于 2013-01-31T10:03:01.397 に答える
0

シーケンスを使用してアクションをスタックできます。私のプロジェクトの1つから以下の例を参照してください:

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];

同様のこと。設定された遅延時間の後に表示されるアニメーションを実行し、完了したら消えてクリーンアップしたいと思います。

于 2013-01-31T10:48:23.123 に答える