[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];
最佳答案
MenuItemFont *start = [MenuItemFont itemFromString:@"Start Game"
target:self
selector:@selector(startGame:)];
[start.label setRGB:0 :0 :0]; // Black menu item
Label是MenuItemFont的属性,MenuItemFont是MenuItem的子类,因此您在隐式转换为MenuItem时会丢失它。
或者,您可以执行以下操作:
[((MenuItemFont *)start).label setRGB:0 :0 :0]
(但这很丑陋,startMenu会接受一个MenuItemFont,而不会产生任何提示)。
请记住,大多数颜色都是在MenuItemFont中进行硬编码的,因此调用“setIsEnabled”会将颜色设置为灰色或白色。如果您需要对其进行调整,则会在MenuItem.m的第239行左右发生。如果我打算制作一个补丁程序以在MenuItemFont上公开此功能(假设在7.7.1之前的版本中尚未提供此功能),我将更新我的文章。
关于iphone - 如何更改Cocos2d MenuItem的颜色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/558300/