2013-01-21 60 views
0

我正在嘗試使淡出淡出使用黑色PNG圖像在cocos 2d中產生效果。它是爲了更好地展示一些東西,而不是隨便的方式......淡入淡出科科斯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]; 
} 

回答

0

你不指定爲預期的是不工作的,但在我看來,你是不是添加effectScreen任何層,其他的節點,以便它可以被顯示。

至於其他方面,代碼似乎對我來說是正確的(除了fadeIn,fadeOut,fadeSequence未使用)。

編輯:

你肯定是在ObjC/C感測使用effectScreen;你不這樣做是做類似的東西添加到您的場景:

[self addChild:effectScene]; 

(假設self是您的場景或其他CCNode類)。

關於不使用fadeSequence的事情有點不同,因爲您沒有在ObjC/C的意義上使用它:您定義它並永遠不會再引用它。

+0

對不起,我是新的。那麼,我不使用effectScreen精靈?這就是爲什麼在CCSequence中,會出現一個警告,告訴'未使用的變量'fadeSequence'不是嗎? – Vergmort

+0

幾乎正確,但請參閱我的編輯以獲取更多解釋。 – sergio

+0

偉大的東西。所以我必須做這個例子? [「MenuNameClass」addChild:effectScreen]; 導致出現警告:未找到類方法'addchild'(返回類型默認爲「id」) – Vergmort