CCMenuItemSprite在Cocos2d v3中的替代品

时间:2014-02-25 18:59:41

标签: cocos2d-iphone

在Cocos2d 2.0中,我使用下面的代码将单个图像用于正常和选定的图像,并在选择时更改颜色。

CCSprite *twitter_1     = [CCSprite spriteWithSpriteFrameName:FRAME_MM_TWR_1];
CCSprite *twitter_2     = [CCSprite spriteWithSpriteFrameName:FRAME_MM_TWR_2];
twitter_2.color = ccc3(128,128,128);

CCMenuItemSprite *twitterBtn = [CCMenuItemSprite itemWithNormalSprite:twitter_1
                                                       selectedSprite:twitter_2
                                                               target:self
                                                             selector:@selector(twitterBtnPress:) ];

在Cocos2d v3中,我可以使用CCButton作为替代,但如何更改所选的帧颜色?

CCSpriteFrameCache *cache = [CCSpriteFrameCache sharedSpriteFrameCache];

CCButton * twitterBtn = [CCButton buttonWithTitle:@""
                                     spriteFrame:[cache spriteFrameByName:FRAME_MM_TWR_1]
                          highlightedSpriteFrame:[cache spriteFrameByName:FRAME_MM_TWR_1]
                             disabledSpriteFrame:nil];

twitterBtn = CCPositionTypeNormalized;
twitterBtn.position = ccp(0.5f, 0.5f);
[twitterBtn setTarget:self selector:@selector(playBtnPress:)];
[self addChild: twitterBtn];

现在在Cocos2d v3中,如何使用CCSprite作为按钮并改变颜色?

1 个答案:

答案 0 :(得分:1)

您可以使用以下方法:

- (void) setBackgroundColor:(CCColor*)color forState:(CCControlState)state
CCButton的

为不同的状态设置不同的背景颜色。