在 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为不同的州设置不同的背景颜色。