2012-02-03 4 views
2

CCLayerColorの不透明度をアニメーション化しようとしていて、機能していません。これまでの私の努力はここにあります。私はcocos2D CCLayerまたはCCLayerColor setOpacity

CCLayerColor *retryMenuLayer; 

との.mファイルに

retryMenuLayer = [CCLayerColor node]; 
[self addChild:retryMenuLayer z:5]; 

retryMenuLayer.scale = 0.5; 
[retryMenuLayer setOpacity:0]; 

よう.hの中retryMenuLayerを定義したと方法を登場で、私はこれを呼んでいます。

[retryMenuLayer runAction:[CCFadeIn actionWithDuration:1]]; 

//OR 

[retryMenuLayer setOpacity:255]; 

何が起こるかというとretryMenuLayerの背景は透明から黒一色にアニメーション化されているが(その子 - ボタンとメニュー)内のコンテンツがアニメーション化されません。実際には、メソッドが呼び出されるまで、少なくとも表示されるvisibilityプロパティを使用する必要があります。

retryMenuLayer.visible = NO; // When initiating. 
retryMenuLayer.visible = YES; // When need to appear the layer. 
+0

何が起こると思いますか?何が起こっている? – Abizern

答えて

4

を参照してください、私は

CCLayerColor *_shadowLayer = [CCLayerColor layerWithColor: ccc4(0,0,0, 100)]; 

は透明な黒の色のために使用します。それFadeInようにするに

、これは動作するはずです:ここ

CCLayerColor _shadowLayer = [CCLayerColor layerWithColor: ccc4(0,0,0, 0)]; 
[_shadowLayer setContentSize: CGSizeMake(_winSize.width, _winSize.height)]; 
_shadowLayer.anchorPoint = ccp(0.0f, 0.0f); 
_shadowLayer.position = ccp(0, 0); 

[self addChild: _shadowLayer]; 

[_shadowLayer runAction: [CCFadeTo actionWithDuration:1.5f opacity:100]]; 

注私はそれが私自身のカスタマイズされた層であり、selfに影の層を追加したこと。私が色あせているスプライトに追加すると、不透明度は影のレイヤーに引き込まれません。しかし、ユーザーの "aerostat"の回避策がthe link in qklxtlx's answerにあるようです。

関連する問題