0

我的游戏中有一个暂停按钮,实际上它只是一个 CCSprite:

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

按下时我想暂停游戏并将暂停按钮的图像切换为@“playButton.png”。

我知道这样做的两种方法:

  1. 制作一个批处理节点并将这两个图像(pauseButton.png 和 playbutton.png)添加到 sprite cash,所以我可以通过动画切换它。
  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 回答