Russian forum > Техниче�?кий фор�?м

рандомизация вывода тек

<< < (2/3) > >>

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