首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在CCSprite之上添加CCSprite?

如何在CCSprite之上添加CCSprite?
EN

Stack Overflow用户
提问于 2012-01-23 16:55:27
回答 1查看 1.1K关注 0票数 1

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

然而,我已经意识到我需要改变容器的颜色来表示视觉效果(比如按钮点击)。

例如:

关闭状态=灰色容器。On状态=红色容器

与其在打开/关闭状态下重复每个头像,我想将容器和头像分开,有点像这个粗略的图画;

代码语言:javascript
复制
+------+    +------+  
|      |    |      |    O
| OFF  |    | ON   |   / \
|      |    |      |   --- 
+------+    +------+

因此,我们将off容器、on容器和头像分开。

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

这有点像从层叠在一起的各种CCSprites创建一个CCSprite。

因此,如何将多个精灵叠加在一起,然后使用layered CCSprites创建CCSprite?

谢谢。

/Edit:添加了一些代码。

我使用CCLayer创建了一些代码,然后将我的sprites添加为层的一部分。

代码语言:javascript
复制
[[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个empty.png

2) -1个彩色层

3) 0个头像

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-23 21:33:10

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

//Edit1查看此源,如果需要,请让我知道。很简单,我所做的就是向你们展示我对颜色的理解。希望这能对https://rapidshare.com/files/3668681798/TestAvatar.zip有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8969070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档