3

iPhoneでタップタップアリ( https://itunes.apple.com/us/app/tap-tap-ants/id348839552?mt=8 )みたいなゲームをやっています。

スプライトの一部をトリミングしたい。アリがケーキのスプライトに触れると、ケーキの一部が消える。いろいろ調べましたが、解決策が見つかりませんでした。

助けてください

4

2 に答える 2

1

スプライトシートを CCSpriteBatchNode の形式で使用して、スプライトに表示フレームを設定できます。以下のように。これにより、表示するスプライトシートのボックス領域を選択できます。

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 で動作する 2 つのスプライトを、下の図のように異なるフレームで設定できます。

ここに画像の説明を入力

この例では、フレームは次のようになります

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 に答える