如何为gameplay3d加载多种语言?我想同其他国家一起支持案文。
发布于 2013-08-15 02:48:28
在不了解这个引擎的情况下,您似乎可以创建自己的ASCII字体,从而轻松地呈现这些字体。
您可以自己创建一个简单的多语言系统,每种语言都有自己的gameplay::Font对象。
有关如何使用此对象的更多信息,请参见此处:https://github.com/blackberry/GamePlay/wiki/Text-and-Fonts
如果您还没有尝试过gameplay3d论坛:http://www.gameplay3d.org/forums/
一个基本的多语言系统可以类似于以下伪代码:
class LanguageManager
{
private Language _currentLanguage = Language.enUS;
private gameplay::Font[] _fonts;
private gameplay::Font _currentFont;
public void SetCurrentLanguage(Language l)
{
this._currentLanguage = l;
this._currentFont = this.GetFontFromCurrentLanguage();
}
public void RenderString(string key, int x, int y, etc....)
{
string s = this.GetTextFromKey(key);
this._currentFont.drawText(.....);
}
private GetFontFromCurrentLanguage()
{
etc...
}
private GetTextFromKey(string key)
{
// get the text from a the resource file
}
}您可以使用以下格式将所有语言翻译存储在一个简单的文件中,并从上面的LanguageManager.GetTextFromKey方法中获得值:
GameText.txt
[language]
key value
for instance
[enUS]
options Options
exit Exit
[zhCN]
options 选择
exit 离开https://stackoverflow.com/questions/18245488
复制相似问题