[MenuItemFont setFontSize:20];
[MenuItemFont setFontName:@"Helvetica"];
//I'm trying to change the color of start (below item)
MenuItem *start = [MenuItemFont itemFromString:@"Start Game"
target:self
selector:@selector(startGame:)];
MenuItem *help = [MenuItemFont itemFromString:@"Help"
target:self
selector:@selector(help:)];
Menu *startMenu = [Menu menuWithItems:start, help, nil];
[startMenu alignItemsVertically];
[self add:startMenu];
答案 0 :(得分:5)
MenuItemFont *start = [MenuItemFont itemFromString:@"Start Game"
target:self
selector:@selector(startGame:)];
[start.label setRGB:0 :0 :0]; // Black menu item
Label是MenuItemFont的一个属性,是MenuItem的子类,因此在隐式转换为MenuItem时会丢失它。
或者,您可以这样做:
[((MenuItemFont *)start).label setRGB:0 :0 :0]
(但这很丑陋,而startMenu将采用一个没有投诉的MenuItemFont。)
请记住,MenuItemFont中的颜色大部分是硬编码的,因此调用'setIsEnabled'会将颜色设置为灰色或白色。这发生在MenuItem.m的第239行附近,如果你需要调整它。如果我开始制作补丁以在MenuItemFont上公开这个功能(假设它还没有在.7.1之前的源代码中),我将更新我的帖子。
答案 1 :(得分:4)
setRGB已在较新版本中设置为setColor。例如:
[start.label setColor: ccc3(200,0,200)];
答案 2 :(得分:3)
您可以像这样更改它(至少在Cocos2d版本0.99.5上)
CCMenuItemFont *startMenuItem = [CCMenuItemFont itemFromString:@"Start" target:self selector:@selector(startTapped:)];
[startMenuItem setColor:ccBLACK];