3

我正在开发一款类似iPhone 中的点击蚂蚁( https://itunes.apple.com/us/app/tap-tap-ants/id348839552?mt=8 )的游戏。

我想裁剪一些精灵。当蚂蚁碰到蛋糕精灵时,蛋糕的一部分就会消失。我研究了很多,但找不到任何解决方案。

请帮忙

4

2 回答 2

1

您可以使用 CCSpriteBatchNode 形式的 spritesheets 在 sprite 上设置显示框架。如下所示。这允许您选择要显示的精灵表的框区域。

CCSpriteBatchNode *caveSheet = [CCSpriteBatchNode batchNodeWithFile:@"cavey_ss3.png"];
[self addChild:caveSheet];
CCSprite *player = [CCSprite spriteWithFile:@"somethingUnimportant.png"];

CCSpriteFrame *frame = [CCSpriteFrame frameWithTexture:caveSheet.texture rect:CGRectMake(0,0,300,300)];   
//(x-start, y-start, width, height)


[player setDisplayFrame:frame];

或者,如果您希望图像角落中的凹口之类的东西消失,那么您可以设置两个精灵在同一个 CCSpriteBatchNode 上工作,具有不同的帧,如下图所示。

在此处输入图像描述

在此示例中,框架将是这样的

sprite1 有 CGRectMake(0,10,10,40)

精灵 2 有 CGRectMake(10,0,20,50)

但是当然你也必须相应地定位精灵。

于 2013-03-29T05:43:13.403 回答
0

在最新版本的 cocos2d-iphone 中,他们添加了一个名为 CCClippingNode 的类。您可以使用它来剪辑(仅显示部分)您的节点及其内容。

http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_clipping_node.html

于 2013-03-29T15:36:27.727 回答