Анатолий Адонин

Анатолий Адонин 

Разработка на Python / Renpy

372subscribers

84posts

Showcase

16

26 Речевые пузыри в Renpy

Ранее, чтобы сделать речевые облачка, как в комиксах, нужно было переделывать стандартные текстбоксы персонажей. Нечто подобное мы разобрали в прошлом уроке. В восьмой версии Renpy опция облачков (речевых пузырей) появилась как отдельная функция с удобным визуальным редактором для настройки каждого отдельного пузыря.
В папке gui находятся шаблоны таких облачков, их можно изменить под стиль проекта. Например, поменять цвет, добавить прозрачность или полностью переработать дизайн.
Чтобы активировать отображение реплик в виде пузырей, в описании персонажа нужно указать параметр kind=bubble. Для удобства создайте отдельных персонажей под речевые пузыри.
По умолчанию пузырь ориентирован на центрально расположенный спрайт. Т.е. он будет выводиться примерно по центру. Однако позицию и размер облачка для каждого персонажа можно настроить вручную.
Для начала пропишите в коде несколько реплик от новых персонажей.
Затем запустите свой проект в лаунчере и активируйте визуальный редактор комбинацией Shift + B. В углу появится панель управления с двумя кликабельными параметрами. Кликните на параметр area, а затем мышью отрисуйте на экране область облачка для персонажа. Если что-то пошло не так - повторно кликните по координатам и скорректируйте выделение.
Второй параметр отвечает за положение хвостика (указателя, направленного к персонажу). Кликайте по нему несколько раз, чтобы менять его расположение.
Установленные позиции облачков запоминаются для каждого персонажа и применяются ко всем следующим его диалогам в текущей сцене. Если спрайт персонажа поменяет свою позицию на экране - снова вызовите редактор и нарисуйте облачко для этой позиции персонажа.
После завершения настроек в папке с игрой появится файл bubble.json, содержащий информацию о позициях всех облачков. Его можно открыть редактором кода и при необходимости откорректировать каждую позицию с точностью до пикселя.
Числа в столбик отвечают за следующие параметры:
1200 - Х позиция облачка на экране
135 - У позиция облачка на экрана
320 - Ширина облачка
180 - Высота облачка
"properties": "bottom_right" - указывает расположение хвостика (низ_право)
bottom_left - Низ_лево
top_left - Верх_лево
top_right - Верх право
Кроме того, можно настроить размер ячеек сетки при выделении области на экране. Изначально сетка содержит 24 столбца и 24 строки, равномерно распределённые по всему экрану. Можно увеличить количество столбцов и строк, уменьшив тем самым размер каждой ячейки. Для более точного позиционирования. 
***
Скрипты из урока:
rpy
speech_bubbles.rpy536 Byte
rpy
character.rpy4.00 Kb

***
Предыдущий урок:
25 Система Multiple - одновременные реплики персонажей

Следующий урок:
27 NVL-режим в Renpy

Все гайды по Renpy здесь
Subscription levels3

Личный состав

$0.99 per month
Участник экспедиции

Колонист

$2.64 per month
С комфортом до Бетельгейзе

Штурман

$5.3 per month
Штурмуем геймдев - Пошаговые уроки с нуля до профи
Учимся создавать игры на Renpy
Программируем на Python
Go up