私のゲームでは、一連のアバターがあります。現在、各アバターには、この画像がボタンであり、クリックできることを示す小さな長方形のコンテナーがあります。
ただし、視覚効果(ボタンのクリックなど)を示すために、コンテナーの色を変更する必要があることに気付きました。
例えば:
オフ状態=灰色のコンテナ。状態=赤いコンテナ
オフ/オンの状態で各アバターを繰り返すのではなく、この大まかな図のように、コンテナとアバターを分離したいと思います。
+------+ +------+
| | | | O
| OFF | | ON | / \
| | | | ---
+------+ +------+
したがって、オフコンテナ、オンコンテナ、およびアバターを分離します。
次に、私のゲームでは、使用したいレイヤーでスプライトを再構築できるようにしたいです。さらに、新しく構築したスプライトを単一のCCSpriteのように機能させて、適切に配置したり、その他のことを実行したりします。スプライトで。
さまざまなCCSpriteを重ねて作成するようなものです。
したがって、複数のスプライトを重ねて、階層化されたCCSpriteを使用して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 empty.png
2)-1色のレイヤー
3)0アバター