sizeWithFont for Android

时间:2013-06-03 19:27:43

标签: android cocos2d-x cocos2d-android sizewithfont

我正在将一个cocos2d iOS游戏移植到cocos2d-x Android,而cocos2d游戏代码的这个方法是sizeWithFont,但是我没有在Android中使用这种方法。那么当使用Cocos2d-x for Android

时,我可以使用什么方法来替换sizeWithFont

2 个答案:

答案 0 :(得分:1)

不幸的是,Ant表示这是iOS特有的功能,并且您希望避免在其前面使用UI或NS。

话虽如此,有一种方法可以用字体和大小来计算文本的边界

CCLabelTTF *label = CCLabelTTF::create("my text", "Arial", 48);
CCLog("label size: %f,%f", timeLabel->boundingBox().size.width, timeLabel->boundingBox().size.height);

你可以创建一个像这样的函数

CCSize sizeWithFont(const char *string, const char *fontName, float fontSize) {
    CCLabelTTF *label = CCLabelTTF::create(string, fontName, fontSize);
    CCSize size = label->boundingBox().size;
    delete label;
    return size;
}

答案 1 :(得分:0)

您指的方法是[UIFont fontWithSize],这是一种UIKit方法,与Cocos2d无关。

由于这是iOS的一个功能,而不是Cocos2d(因为,如果您使用的是UIKit,可能是菜单的其余部分),您会发现需要使用Cocos2d-x本身来构建菜单。

这里有一个关于使用标签的教程:

http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Text_Labels#Creating-labels-Simple-way