在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作为按钮并改变颜色?
答案 0 :(得分:1)
您可以使用以下方法:
- (void) setBackgroundColor:(CCColor*)color forState:(CCControlState)state
CCButton的为不同的状态设置不同的背景颜色。