1

如何加载多种语言 gameplay3d?我想和其他国家一起支持文本。

4

1 回答 1

1

在不了解该引擎的情况下,您似乎可以创建自己的 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 离开
于 2013-08-15T02:48:28.060 回答