2012-01-23 4 views
1

私のゲームでは、私は一連のアバターを持っています。現在、各アバターは、このイメージがボタンでクリックできることを示す小さな四角いコンテナを持っています。CCSpriteの上にCCSpriteをレイヤーする方法は?

しかし、私は、ボタンのクリックなどの視覚効果を表すためにコンテナの色を変更する必要があることに気付きました。

例:

オフ状態=グレーのコンテナ。オン状態=レッドコンテナ

オフ/オン状態の各アバターを繰り返すのではなく、この原型のようなコンテナとアバターを分離したいと思います。

したがって、オフコンテナ、オンコンテナ、アバターを分離します。

私のゲームでは、私が使用したいレイヤーでスプライトを再構成できるようにしたいだけでなく、新たに構築されたスプライトを特異なCCSpriteのように動作させたいので、スプライトで他のことをすることができます。

さまざまなCCスプライトからCCSpriteを作成するのが好きです。

こうして、複数のスプライトを重ね合わせて、レイヤードCCスプライトを使ってCCSpriteを作成するにはどうすればよいですか?

ありがとうございました。

/編集:いくつかのコードを追加しました。

CCLayerを使用してコードを作成し、スプライトをレイヤーの一部として追加しました。

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile: 
     @"avatars.plist"]; 

     CCSpriteBatchNode *spriteSheet = [CCSpriteBatchNode 
              batchNodeWithFile:@"avatars.png"]; 
     [self addChild:spriteSheet]; 

     CCSprite *empty = [CCSprite spriteWithSpriteFrameName:@"hold_empty.png"]; 
     CCSprite *boss1 = [CCSprite spriteWithSpriteFrameName:@"hold_boss_1.png"]; 

     CCLayer *holderExample = [[CCLayer alloc] init]; 
     [holderExample setContentSize:CGSizeMake(70, 72)]; 
     [holderExample setPosition:CGPointMake(100, 100)]; 
     [holderExample addChild:empty]; 
     [holderExample addChild:boss1]; 

     [self addChild:holderExample]; 

これは、内部に2つのスプライトを含むレイヤーを作成するようです。これは正しいようですが、クリック可能か他のイベントを処理できるかわからないため、これが正しいかどうかはわかりません。

さらに、色のレイヤーを追加したいと考えています。 Z-ために

1)-2

2 empty.png)-1色層

3)0アバター

+0

あなたは単純に別のCCSpriteの子としてCCSpriteを追加するという意味ですか? – Ultrakorne

+0

ボタンのCCMenuItemImageを使用して、画像の有効化と無効化を設定することができます。 – Marine

+0

@Ultrakome - いいえ、3イメージ、(1)状態コンテナ(2)、状態コンテナ(3)次に、アバターの上にオフ/オン状態をレイヤーして新しいCCSpriteを作成します。 – zardon

答えて

1

あなたが/でのイメージを作ることができますOFF状態とアバター画像を持つカスタムCCSpriteの子として追加します。また、選択効果を出すためにアバターに色を適用することもできます。これがあなたが必要とするものなのかどうかは分かりません。

//編集1 このソースを確認し、必要な場合はお知らせください。私が色について何を意味しているかをあなたに見せてくれただけで、とてもシンプルです。希望のヘルプhttps://rapidshare.com/files/3668681798/TestAvatar.zip

+0

私はサンプルがあると思います(いくつかのコードを追加したので質問を参照してください) – zardon

+0

確認するには、1.オン/オフ状態の画像を作成します。 2.これらをCCSpriteの子として追加します。私はこれを行うことができますが、私はあなたがアバターに色を加えることによって何を意味するのか分かりません。あなたはカラーレイヤーを意味しますか? – zardon

+0

あなたはCCSpriteに色を設定することができます、あなたはそのプロパティを使用したい効果を達成できると思います。とにかく、私はあなたが3つの画像だけでこれを達成できると思います。サンプルコードを入手しようとします。 – Setrio

関連する問題