[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];
Rob Sawyer
问问题
9681 次
3 回答
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 上公开此功能(假设它尚未在 pre-.7.1 源中),我将更新我的帖子。
于 2009-03-15T16:46:51.940 回答
4
setRGB 在较新版本中已设置为 setColor。例如:
[start.label setColor: ccc3(200,0,200)];
于 2011-04-06T18:55:56.463 回答
3
您可以这样更改(至少在 Cocos2d 版本 0.99.5 上)
CCMenuItemFont *startMenuItem = [CCMenuItemFont itemFromString:@"Start" target:self selector:@selector(startTapped:)];
[startMenuItem setColor:ccBLACK];
于 2011-02-06T15:21:02.147 回答