0

不透明度を設定するシーン全体に暗い効果を追加する、上部の 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を使用して暗い効果を追加しないでください??

前もって感謝します

4

1 に答える 1

0

最も簡単な方法は、背景のサイズの黒い画像で CCSprite を使用することです。次に、画像プログラムで必要なもの全体を切り取り、不透明度を下げて背景の上にそのスプライトを描画します。

于 2012-09-19T00:09:20.737 に答える