cocos2d-x 3.0的中文显示非常easy,首先,你须要一个xml文件保存中文,还须要一个能显示中文的TTF文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>miaoshu</key>
<string>滑動手指,同样數字磁塊
合併相加,目標2048!</string>
</dict>
</plist>
如上,为什么我用的是繁体,由于官方给的是能显示繁体的TTF,那就将就用吧,官方tests样例中的繁体TTF文件为wt021.ttf
以下就是直接使用,
TTFConfig config1("fonts/wt021.ttf",20);
auto strings = FileUtils::getInstance()->getValueMapFromFile("strings.xml");
std::string miaoshu = strings["miaoshu"].asString();
auto labelts = Label::createWithTTF(config1,miaoshu,TextHAlignment::LEFT);
labelts->setTextColor(Color4B(216,28,87,255));
labelts->setPosition(Point(origin.x + visibleSize.width/10,origin.y + visibleSize.height/9*7));
labelts->setAnchorPoint(Point::ZERO);
this->addChild(labelts);
效果例如以下
看看,连换行都一并攻克了.
另一种更简洁的办法,就是使用 FileUtils::getInstance()->getStringFromFile("strings.xml");意思就是将string.xml文件里的内容当作一个超级长的字符串显示,strings.xml里面是纯文本哦,不是xml格式哦,我写strings.xml是懒换文件名称的,当然,换行什么的都在