使用自定义Font创建menuitem

时间:2014-09-02 11:39:06

标签: cocos2d-x cocos2d-x-3.0

我正在使用以下代码

MenuItemFont* supportMenuItem = MenuItemFont::create("Contact us for support",
                                                          CC_CALLBACK_1(TempLogoLayer::supportMenuClicked, this));


 supportMenuItem->setPosition(Vec2(100,100));
 supportMenuItem->setFontName("Arial");
 supportMenuItem->setFontSize(16.0);


Menu *buttonsMenu = CCMenu::create(supportMenuItem, NULL);
buttonsMenu->setPosition(Vec2(0.0, 0.0));
this->addChild(buttonsMenu, 1)

但是这个menuitem没有采用字体

3 个答案:

答案 0 :(得分:1)

你可以这样做:

item = MenuItemFont::create("item 1");
item->retain();

auto back = MenuItemFont::create("go back", CC_CALLBACK_1(RemoveMenuItemWhenMove::goBack, this));

这是针对cocos2d-x 3.2你可以在示例目录MenuTest.cpp中查看它是如何工作的。

答案 1 :(得分:1)

对于arial,您可以使用Label代替

auto lbRate = Label::createWithSystemFont("4 Rate", "Arial", 35.0);
auto menuRate = MenuItemLabel::create(lbRate, CC_CALLBACK_1(PlayerSkin::onRate, this));
auto menu = Menu::create(menuRate, NULL);
this->addChild(menu, 10);

答案 2 :(得分:0)

我意识到这已经很老了,但其他人可能会在某个时候偶然发现这篇文章: 对于 Cocos2dx 3.6 尝试:

supportMenuItem->setFontNameObj("Arial");

还要确保名为" Arial"的字体。在字体目录

这实际上可以解决问题。 OP很接近。