改变精灵的形象

时间:2013-01-27 10:31:21

标签: ios cocos2d-iphone

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

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

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

我知道有两种方法:

  1. 制作一个batchnode并将这两个图像(pauseButton.png和playbutton.png)添加到sprite cash中,这样我就可以通过动画切换它。
  2. 重新创建精灵
  3. 代码:

    [_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];
    

    是否有任何“适当”且更简单的方法,或者我应该使用上面提到的那些?

2 个答案:

答案 0 :(得分:0)

如果您使用纹理图集,则可以使用setDisplayFrame:来更改精灵显示的内容。这是最有效的方式。

否则你将不得不使用setTexture:来改变精灵使用的纹理。

答案 1 :(得分:-1)

在cocos2d中处理按钮的正确方法是使用CCMenuItem。可以找到有关执行此操作的教程here