Wintermute Engine Forum
Russian forum => Техниче�?кий фор�?м => Topic started by: Gambit on March 31, 2009, 05:53:20 PM
-
для вывода тек
-
Потреб
-
Да и вообще, и
-
::thumbup
-
и
-
Штатный метод Talk() делает одно, на первый взляд незаметное, действие - интерпретирует подаваемые на вход реплики согласно данных из String Table. В твоем случае, когда ты пишешь свой Talk() тебе нужно выполнять эту функцию самому. Для этого в движке есть еще один метод Game.ExpandString(String); Ты даешь ему на вход текст в формате "/ID/бла-бла-бла" , а он тебе возвращает соответствие из String table.
Выглядеть это будет примерно так:
method Talk(replika)
{
var WinDialog = Game.LoadWindow("Путь к файлу окна");
var vOkno = WinDialog.GetControl("имя элемента Static control");
vOkno.Text = Game.ExpandString(replika);
код, реализовывающий паузу в игре на время, достаточное для прочтения текста
Game.UnloadObject(WinDialog);
}
К слову, штатный Talk() еще и звук воспроизводит, если в параметрах указать имя файла.
юзаю этот метод (вернее 3 его вариации, каждая с разной задержкой, для прочтения текста).
Необходимую задержку можно определять из длины фразы - replika.Length*время_прочтения_одной_буквы
А если использовать озвучку "Game.PlaySound()", то текст должен быть виден, пока звучит реплика. Определяется это с помощью Game.IsSoundPlaying()
-
ве
-
Про
-
У метода Game.Msg() др
-
Про Game.Msg понятно. Но я про др
-
Работать б
-
Согла
-
В познавательных целях можно было взять данный к