我得到了一个带有顶部 z-index 图层的场景,其中一个为整个场景添加了黑暗效果,设置了它的不透明度。我现在要做的是去除图像显示的混凝土区域(圆锥体/三角形内)中的阴影/黑暗效果(红色多边形内)。换句话说,我希望在三角形内部具有与屏幕左侧相同的“亮度”(零不透明度)。
代码:
-(id) init
{
if( (self=[super initWithColor:ccc4(0,0,0,128)] )) {
CGSize winSize = [[CCDirector sharedDirector] winSize];
CCLayerColor* layer1 = [CCLayerColor layerWithColor: ccc4(0, 0, 0, 180) width: winSize.width height: winSize.height];
layer1.position = ccp(50,0);
[self addChild: layer1 z:2];
CCSprite *background = [CCSprite spriteWithFile:@"background.png"];
background.position = ccp(background.contentSize.width/2, background.contentSize.height/2);
[self addChild:background];
CCSprite *player = [CCSprite spriteWithFile:@"Player.png"rect:CGRectMake(0, 0, 27, 40)];
player.position = ccp(player.contentSize.width/2, winSize.height/2);
[self addChild:player];
}
return self;
}
关于如何做到这一点的任何想法?也许我应该尝试用另一种方式来做,而不是使用 CCLayer 来添加黑暗效果??
提前致谢