1

私のゲームでは、一連のアバターがあります。現在、各アバターには、この画像がボタンであり、クリックできることを示す小さな長方形のコンテナーがあります。

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

例えば:

オフ状態=灰色のコンテナ。状態=赤いコンテナ

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

+------+    +------+  
|      |    |      |    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アバター

4

1 に答える 1

1

オン/オフ状態の画像を作成し、オン、オフ、アバターの画像を持つカスタムCCSpriteの子として追加できます。また、アバターに色を塗って選択効果を出すこともできます。これがまさにあなたが必要としているものであるかどうかわからない。

// Edit1このソースを確認し、これが必要かどうかを知らせてください。色について私が何を意味するかを示すために私がしたことは非常に単純です。この助けを願っていますhttps://rapidshare.com/files/3668681798/TestAvatar.zip

于 2012-01-23T13:33:09.860 に答える