- Сообщений: 1274
- Спасибо получено: 1307
Voice message
12 года 8 мес. назад #64222
от caveman
caveman создал тему: Voice message
Соорудил простенький скрипт, который может чуть подсократить размер событий в случае озвучки игры.
Он позволяет запускать SE файл через тег \s[name] прямо в сообщении, и при закрытии окна сообщения, останавливает и проигрывание файла.
Аналог без скрипта - перед каждой фразой запускать SE файл командой, после неё - останавливать.
Скрипт совсем простой, и, при желании и интересе (вдруг кто создает игру с озвучкой), его можно расширить и углубить - от типов поддерживаемых файлов (я пока смотрю только mp3) и настройки громкости и положения до озвучки при использовании спеллов и ударов в бою.
Код (положить в Materials)
В деме отображены оба примера - можно послушать начало истории, наговоренной братцем в новенький микрофон
yadi.sk/d/W8VUo1_v8eAq4
Он позволяет запускать SE файл через тег \s[name] прямо в сообщении, и при закрытии окна сообщения, останавливает и проигрывание файла.
Аналог без скрипта - перед каждой фразой запускать SE файл командой, после неё - останавливать.
Скрипт совсем простой, и, при желании и интересе (вдруг кто создает игру с озвучкой), его можно расширить и углубить - от типов поддерживаемых файлов (я пока смотрю только mp3) и настройки громкости и положения до озвучки при использовании спеллов и ударов в бою.
Код (положить в Materials)
ВНИМАНИЕ: Спойлер!
Code:
class Window_Base
#--------------------------------------------------------------------------
# * Control Character Processing
# code : the core of the control character
# e.g. "C" in the case of the control character \C[1].
#--------------------------------------------------------------------------
def process_escape_character(code, text, pos)
case code.upcase
when 'C'
change_color(text_color(obtain_escape_param(text)))
when 'I'
process_draw_icon(obtain_escape_param(text), pos)
when '{'
make_font_bigger
when '}'
make_font_smaller
when 'S'
play_voice(obtain_escape_text(text))
end
end
def play_voice(name)
@voice_playing = true
Audio.se_play(sprintf("Audio/SE/%s.mp3", name))
end
def obtain_escape_text(text)
text.slice!(/^\[\w+\]/) [/\w+/]
end
end
class Window_Message
#--------------------------------------------------------------------------
# * Input Pause Processing
#--------------------------------------------------------------------------
def input_pause
self.pause = true
wait(10)
Fiber.yield until Input.trigger?(:B) || Input.trigger?(:C)
Input.update
if @voice_playing != nil && @voice_playing
@voice_playing = false
Audio.se_stop
end
self.pause = false
end
end
В деме отображены оба примера - можно послушать начало истории, наговоренной братцем в новенький микрофон
yadi.sk/d/W8VUo1_v8eAq4
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Скрыть
Больше
- Сообщений: 1247
- Спасибо получено: 412
12 года 8 мес. назад #64223
от Kian Ni
Kian Ni ответил в теме Voice message
Лучше бы запилил скрипт озвучки диалогов, ахах
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
12 года 8 мес. назад #64224
от caveman
caveman ответил в теме Voice message
Автоботом, имеешь в виду?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Скрыть
Больше
- Сообщений: 1597
- Спасибо получено: 1522
12 года 8 мес. назад #64225
от Демий
Демий ответил в теме Voice message
Даешь гугл бабу в играх! ХД
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
12 года 8 мес. назад #64226
от DeadElf79
DeadElf79 ответил в теме Voice message
Пещерный, через dll какого-нибудь Speech API)) Тогда можно будет и голоса выбирать
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.105 секунд
