私のゲームでは、私は一連のアバターを持っています。現在、各アバターは、このイメージがボタンでクリックできることを示す小さな四角いコンテナを持っています。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アバター
あなたは単純に別のCCSpriteの子としてCCSpriteを追加するという意味ですか? – Ultrakorne
ボタンのCCMenuItemImageを使用して、画像の有効化と無効化を設定することができます。 – Marine
@Ultrakome - いいえ、3イメージ、(1)状態コンテナ(2)、状態コンテナ(3)次に、アバターの上にオフ/オン状態をレイヤーして新しいCCSpriteを作成します。 – zardon