我正在将一个cocos2d iOS游戏移植到cocos2d-x Android,而cocos2d游戏代码的这个方法是sizeWithFont,但是我没有在Android中使用这种方法。那么当使用Cocos2d-x for Android
时,我可以使用什么方法来替换sizeWithFont答案 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