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是懒换文件名称的,当然,换行什么的都在