1

在我的游戏中,我有一系列头像,目前每个头像都有一个小的矩形容器,表示这个图片是一个按钮,可以点击。

但是,我意识到我需要更改容器的颜色来表示视觉效果(例如按钮单击)。

例如:

关闭状态 = 灰色容器。开启状态 = 红色容器

与其在关闭/开启状态下重复每个化身,我想将容器和化身分开,有点像这张粗略的绘图;

+------+    +------+  
|      |    |      |    O
| OFF  |    | ON   |   / \
|      |    |      |   --- 
+------+    +------+

因此,我们将关闭容器、开启容器和化身分开。

然后,在我的游戏中,我希望能够使用我想要使用的图层重新构建精灵,此外我希望新构建的精灵像一个单一的 CCSprite 一样,所以我可以正确定位它,或者做其他事情与精灵。

有点像从相互叠加的各种 CCSprite 中创建 CCSprite。

因此,如何将多个 sprite 叠加在一起,然后使用分层的 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];

这似乎制作了一个里面有两个精灵的图层。这似乎是对的,但我不确定这是否正确,因为我不确定是否可以使其可点击或处理其他事件。

另外,我想为颜色添加一个图层。

在 Z 顺序中:

1) -2 空.png

2)-1个颜色层

3) 0个头像

4

1 回答 1

1

您可以为开/关状态制作图像,并将其添加为具有开、关和头像图像的自定义 CCSprite 的子项。此外,您可以为头像应用颜色以产生选择效果。不知道这是否正是你所需要的。

//Edit1 检查此来源并让我知道这是否是您需要的。我所做的非常简单,只是为了向您展示我对颜色的含义。希望这有助于https://rapidshare.com/files/3668681798/TestAvatar.zip

于 2012-01-23T13:33:09.860 回答