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 に答える