我正在尝试为CCLayerColor的不透明度制作动画,但它不起作用。到目前为止,这是我的努力。我已经在.h中定义了retryMenuLayer
CCLayerColor *retryMenuLayer;
和.m文件
retryMenuLayer = [CCLayerColor node];
[self addChild:retryMenuLayer z:5];
retryMenuLayer.scale = 0.5;
[retryMenuLayer setOpacity:0];
并且在出现的方法中,我称之为。
[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 :(得分:4)
对于CCLayerColor
的透明度,我使用
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
,这是我自己的自定义图层。如果我将它添加到淡入的精灵中,不透明度不会拉到阴影层。但是the link in qklxtlx's answer中的用户“aerostat”似乎有一个解决方法。
答案 1 :(得分:3)
CCLayer没有不透明度。请参阅此http://www.cocos2d-iphone.org/forum/topic/5088