CCMenuItemSprite在Cocos2d v3中的替代品



在 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 作为按钮并更改颜色?

您可以使用以下方法:

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

CCButton为不同的州设置不同的背景颜色。

最新更新