0

ゲームに一時停止ボタンがあります。実際、これは単なるCCSpriteです。

_pauseButton = [[CCSprite spriteWithFile:@"pauseButton.png"] retain];
_pauseButton.position = ccp(_winSize.width * 0.92, _winSize.height * 0.1);
[self addChild:_pauseButton];

そして、押すとゲームを一時停止し、pausebuttonの画像を@"playButton.png"に切り替えます。

私はそれを行うための2つの方法を知っています:

  1. バッチノードを作成し、それらの2つの画像(pauseButton.pngとplaybutton.png)をスプライトキャッシュに追加して、アニメーションで切り替えることができるようにします。
  2. スプライトの再現

コード:

[_pauseButton removeFromParentAndCleanup:YES];
[_pauseButton release];
_pauseButton = [[CCSprite spriteWithFile:@"playButton.png"] retain];
_pauseButton.position = ccp(_winSize.width * 0.92, _winSize.height * 0.1);
[self addChild:_pauseButton];

これを行うための「適切な」簡単な方法はありますか、それとも上記のいずれかを使用する必要がありますか?

4

2 に答える 2

0

テクスチャアトラスを使用する場合は、setDisplayFrame:を使用してスプライトの表示内容を変更できます。これが最も効率的な方法です。

それ以外の場合は、setTexture:を使用して、スプライトが使用するテクスチャを変更する必要があります。

于 2013-01-27T11:30:28.560 に答える
-1

cocos2dでボタンを処理する適切な方法は、CCMenuItemを使用することです。これを行うためのチュートリアルはここにあります。

于 2013-01-27T10:41:43.847 に答える