首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为gameplay3d加载多种语言?

如何为gameplay3d加载多种语言?
EN

Stack Overflow用户
提问于 2013-08-15 02:38:40
回答 1查看 158关注 0票数 1

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-15 02:48:28

在不了解这个引擎的情况下,您似乎可以创建自己的ASCII字体,从而轻松地呈现这些字体。

您可以自己创建一个简单的多语言系统,每种语言都有自己的gameplay::Font对象。

有关如何使用此对象的更多信息,请参见此处:https://github.com/blackberry/GamePlay/wiki/Text-and-Fonts

如果您还没有尝试过gameplay3d论坛:http://www.gameplay3d.org/forums/

一个基本的多语言系统可以类似于以下伪代码:

代码语言:javascript
复制
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方法中获得值:

代码语言:javascript
复制
GameText.txt
[language]
key value

for instance
[enUS]
options Options
exit Exit

[zhCN]
options 选择
exit 离开
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18245488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档