Please login or register.

Login with username, password and session length
Advanced search  

News:

Forum rules - please read before posting, it can save you a lot of time.

Author Topic: рандомизация вывода тек?та  (Read 6115 times)

0 Members and 1 Guest are viewing this topic.

Gambit

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 65
    • View Profile
рандомизация вывода тек?та
« on: March 31, 2009, 05:53:20 PM »

Logged

Dionysius

  • Moderator
  • Frequent poster
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 361
    • View Profile
    • On the Tracks of Dinosaurs
Re: рандомизация вывода тек?та
« Reply #1 on: April 01, 2009, 05:15:10 AM »

Code: [Select]
Game.Talk("/speech000" + Random(0, 3) + "/");где, speech000x - это номера фраз, заданных в string table
Logged

Pipec

  • Occasional poster
  • **
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 57
    • View Profile
    • stereopyram
Re: рандомизация вывода тек?та
« Reply #2 on: April 01, 2009, 09:12:10 AM »

Logged

Gambit

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 65
    • View Profile
Re: рандомизация вывода тек?та
« Reply #3 on: April 01, 2009, 06:04:08 PM »

Logged

Gambit

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 65
    • View Profile
Re: рандомизация вывода тек?та
« Reply #4 on: April 06, 2009, 06:35:42 PM »

Quote
Logged

Pipec

  • Occasional poster
  • **
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 57
    • View Profile
    • stereopyram
Re: рандомизация вывода текста
« Reply #5 on: April 06, 2009, 09:50:49 PM »

Штатный метод 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 его вариации, каждая с разной задержкой, для прочтения текста).

Необходимую задержку можно определять из длины фразы - replika.Length*время_прочтения_одной_буквы
А если использовать озвучку "Game.PlaySound()", то текст должен быть виден, пока звучит реплика. Определяется это с помощью Game.IsSoundPlaying()
« Last Edit: April 06, 2009, 10:03:29 PM by Pipec »
Logged

Gambit

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 65
    • View Profile
Re: рандомизация вывода тек?та
« Reply #6 on: April 06, 2009, 10:30:50 PM »

Logged

ugo

  • Вредная ворона
  • Regular poster
  • ***
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 150
  • Делаю кве?т.
    • View Profile
    • Хранители традиций УниВанга
Re: рандомизация вывода тек?та
« Reply #7 on: April 14, 2009, 05:31:06 PM »

« Last Edit: April 14, 2009, 05:34:15 PM by ugo »
Logged

Dionysius

  • Moderator
  • Frequent poster
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 361
    • View Profile
    • On the Tracks of Dinosaurs
Re: рандомизация вывода тек?та
« Reply #8 on: April 15, 2009, 04:14:56 AM »

Logged

ugo

  • Вредная ворона
  • Regular poster
  • ***
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 150
  • Делаю кве?т.
    • View Profile
    • Хранители традиций УниВанга
Re: рандомизация вывода тек?та
« Reply #9 on: April 15, 2009, 09:42:03 AM »

« Last Edit: April 15, 2009, 10:04:03 AM by ugo »
Logged

Dionysius

  • Moderator
  • Frequent poster
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 361
    • View Profile
    • On the Tracks of Dinosaurs
Re: рандомизация вывода тек?та
« Reply #10 on: April 15, 2009, 10:46:12 AM »

Logged

ugo

  • Вредная ворона
  • Regular poster
  • ***
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 150
  • Делаю кве?т.
    • View Profile
    • Хранители традиций УниВанга
Re: рандомизация вывода тек?та
« Reply #11 on: April 15, 2009, 11:43:58 AM »

Logged

Dionysius

  • Moderator
  • Frequent poster
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 361
    • View Profile
    • On the Tracks of Dinosaurs
Re: рандомизация вывода тек?та
« Reply #12 on: April 15, 2009, 11:59:57 AM »

Logged
 

Page created in 0.156 seconds with 23 queries.