我正在开发一款像iPhone一样点击蚂蚁(https://itunes.apple.com/us/app/tap-tap-ants/id348839552?mt=8)的游戏。
我想裁剪精灵的一部分。当一只蚂蚁碰到蛋糕精灵时,蛋糕的某些部分会消失。我研究了很多但找不到任何解决方案。
Plz帮助
答案 0 :(得分:1)
您可以使用CCSpriteBatchNode形式的spritesheets在精灵上设置显示框。如下所述。这允许您选择要显示的spritesheet的盒装区域。
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)
但是当然你也必须相应地定位精灵。
答案 1 :(得分:0)
在最新版本的cocos2d-iphone中,他们添加了一个名为CCClippingNode的类。您可以使用它来剪辑(仅显示部分节点)及其内容。
http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_clipping_node.html