Как загрузить несколько языков для gameplay3d
? Я хочу присоединиться к другим странам для поддержки текста.Как загрузить несколько языков для gameplay3d?
1
A
ответ
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 离开