Russian forum > Техниче�?кий фор�?м
рандомизация вывода тек
Pipec:
Штатный метод 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() еще и звук воспроизводит, если в параметрах указать имя файла.
--- Quote ---юзаю этот метод (вернее 3 его вариации, каждая с разной задержкой, для прочтения текста).
--- End quote ---
Необходимую задержку можно определять из длины фразы - replika.Length*время_прочтения_одной_буквы
А если использовать озвучку "Game.PlaySound()", то текст должен быть виден, пока звучит реплика. Определяется это с помощью Game.IsSoundPlaying()
Gambit:
ве
ugo:
Про
Dionysius:
У метода Game.Msg() др
ugo:
Про Game.Msg понятно. Но я про др
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version