0

我正在尝试使用黑色 png 图像在 cocos 2d 中制作淡入淡出效果。它是为了更好地展示一些东西,而不是随意的方式......

这段代码有问题吗?

- (void) effectFade {

    CCSprite *effectScreen = [CCSprite spriteWithFile:@"black-iphone.png"];
    effectScreen.opacity = 0;

    [effectScreen runAction:[CCSequence actions:
                           [CCFadeIn actionWithDuration:1],
                           [CCCallFunc actionWithTarget:self selector:@selector(hideOutShowIn)],
                           [CCFadeOut actionWithDuration:1],
                           [CCCallFunc actionWithTarget:self selector:@selector(finish)],
                           nil]];
    CCFadeTo *fadeIn = [CCFadeIn actionWithDuration:1];
    CCFadeTo *fadeOut = [CCFadeOut actionWithDuration:1];

    CCSequence *fadeSequence = [CCSequence actionOne:fadeIn two:fadeOut];
}
4

1 回答 1

0

您没有指定没有按预期工作的内容,但在我看来,您没有添加effectScreen到任何图层或其他节点,以便可以显示它。

至于其余的,代码对我来说似乎是正确的(除了没有使用的 , )fadeInfadeOutfadeSequence

编辑:

你肯定是在使用 effectScreenObjC/C 意义上的;您没有做的是通过执行以下操作将其添加到您的场景中:

[self addChild:effectScene];

(假设self是你的场景或其他CCNode类)。

不使用fadeSequence的情况有点不同,因为您不是在 ObjC/C 意义上使用它:您定义它并且永远不会再次引用它。

于 2013-01-21T17:34:53.180 回答