2013-08-15 5 views

ответ

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 离开