Стилизация текста (Text Properties)
Стили.

Можно создавать собственные стили текста. К примеру указать, дабы все реплики сказанные персонажем были курсивом. В отличие от обычных тегов, здесь это объявить нужно лишь раз, в Character. Это гораздо удобней, нежели везде в тексте расставлять тег {i} ... {/i}.
Но есть такие свойства, для которых тегов нет: контур, тень, сглаживание.

Объявляются всё при создании персонажа, в блоке Init.

Тень
К примеру, сделаем так, чтобы реплики, сказанные одним персонажем были с тенью. Идём в строку объявления персонажа и дописываем пару строк.
Код
init:
    $ p = Character(u"Персонаж",
            color="#51ea63",
            what_drop_shadow=[ (2, 1) ] )

В данной статье пояснения к объявлению персонажей.
what_drop_shadow - префикс what, указывает на то, чтобы drop_shadow применялась ко всем репликам персонажа.
(2, 1) - расположение тени, относительно самого текста, по координатам X, Y.
P.S. Не забывайте ставить запятые в character, между действиями. В конце запятая не нужна.

Вызывается это все стандартно
Код
label start:
    p "Данный текст имеет собственную тень"  



Но тень практически незаметна. Можно увеличить её толщину, путём наложения поверх ещё пару теней. Для этого нужно указать координаты для каждой тени.
Код
init:
    $ p = Character(u"Персонаж",
            color="#51ea63",
            what_drop_shadow=[ (2, 1) ,(3, 2), (4, 3), (5, 4), (6, 5) ] )



Тени можно применять не только к репликам, но и к имени персонажа. Для этого необходимо заменить на префикс who_
Код
init:
    $ p = Character(u"Персонаж",
            color="#51ea63",
            who_drop_shadow=[ (2, 1) ,(3, 2), (4, 3), (5, 4), (6, 5) ] )



Стандартно, тень чёрного цвета, но это поправимо. Необходимо лишь добавить одну строку.
Код
what_drop_shadow_color # ....Для реплики
who_drop_shadow_color # ....Для имени


Сделаем тень имени тёмно-зелёной, а тень реплики - оранжевой.
Код
init:
    $ p = Character(u"Персонаж",
            color="#51ea63",
            who_drop_shadow=[ (2, 1) ,(3, 2) , (4, 3), (5, 4), (6, 5) ],
            what_drop_shadow=[ (2, 1) ,(3, 2) , (4, 3), (5, 4), (6, 5) ],
            what_drop_shadow_color="#ea9e51",
            who_drop_shadow_color="#31893b" )


Цвет тени указывается в RGB формате, как и почти все цвета в Ren'Py.

Контур

Объявление контура
Код
what_outlines=[ (1, "#ffffff") ] #...Контур для реплики
who_outlines=[ (1, "#ffffff") ] #....Контур для имени персонажа

1 - толщина контура в пикселях
"#ffffff" - указание цвета контура в RGB формате.

Для примера, сделаем контур имени салатовым, а контур реплики - сиреневым.
Код
init:
    $ p = Character(u"Персонаж",
            color="#ffffff",
            what_outlines=[ (1, "#c376f9") ],
            who_outlines=[ (1, "#93ea42") ] )



Теги в Character

Полужирный
Код
who_bold=False #...Отключает стандартный полужирный шрифт у имени персонажа.
what_bold=True #...Включает полужирный шрифт для всех реплик персонажа

Может иметь только одно из двух значений - False либо True.

Курсив
Код
who_italic=True #...Включает курсив у имени персонажа.
what_italic=True #...Включает курсив у всех реплик персонажа.

Может иметь только одно из двух значений - False либо True.

Подчёркнутый
Код
what_underline=True #...Подчёркивает все реплики персонажа.
who_underline=True #...Подчёркивает имя персонажа.

Может иметь только одно из двух значений - False либо True.

Размер шрифта
Код
what_size=24 #...Размер шрифта реплик персонажа.
who_size=26 #...Размер шрифта имени персонажа.


Пример:
Код
init:
    $ p = Character(u"Персонаж",
            color="#ffffff",
            what_size=22,
            who_size=24,
            who_underline=True,
            what_bold=True,
            what_italic=True,
            who_bold=False )

label start:
    p "Реплика персонажа..."




Сглаживание шрифта

Априори оно включено. Для отключения необходимо в Character прописать следующее:
Код
what_antialias = False #...Отключение сглаживания шрифта реплик персонажа.
who_antialias = False #...Отключение сглаживания шрифта имени персонажа.

Отключение сглаживания несовместимо с полужирным (bold) шрифтом. Поскольку он изначально включен у имени, его следует отключить строкой
Код
who_bold = False


Конечный вид синтаксиса:
Код
init:
    $ p = Character(u"Персонаж",
            color="#ffffff",
            who_bold = False,
            what_antialias = False,
            who_antialias = False )


Разница между включенным и отключенным сглаживанием.


Скорость текста

Можно для каждого персонажа устанавливать свою скорость вывода реплик.
Код
what_slow_cps = 50

50 - скорость вывода текста, в знаках в секунду,

Можно указать скорость, с кратностью указанной
Код
init:
    $ p = Character(u"Персонаж",
            color="#ffffff",
            what_slow_cps = 30,
            what_slow_cps_multiplier = 2.0 )

Сначала указываем скорость в зн/cек. А после указываем, дабы скорость была кратна двум. В итоге скорость текста будет 60 зн/сек.

Прерывание медленно-выводящегося текста
Код
what_slow_abortable = True

Если True печатающаяся реплика после клика мыши появится полностью.
Если False после клика мыши сразу переход к следующей реплики, без полного вывода предыдущей.

©Программист Celestial Novels

Автор материала: Sota
Материал от пользователя сайта.



Ren'Py 01.10.14 7201 Sota контур, стиль, ренпай, RenPy, текст, стилизация текста, Сглаживание, скорость текста, окантовка, Тень 4.2/5

Комментарии (10):
0
1 Solo322   (06.01.15 10:39)
Здесь написано как привязать настройки текста к конкретному персонажу. А как привязать те же настройки ко всему тексту сразу?

1
2 Sota   (09.05.15 01:57)
132
Лучше поздно, чем никогда :D
Сменить можно через стили - "style.default". К примеру, если весь текст нужен с контуром, то в любом месте:
Код
init python:   
     style.default.outlines = [ (3, "#fff4", 0, 0),  ]

Для установки размера или установки шрифта своего будет:
Код
init python:   
     style.default.font= "/путь_к_шрифту.ttf"
     style.default.size= 30

И так далее...

0
9 Bruzer   (04.04.16 22:05)
16173
Ой, блэн, сорре, но у меня ничего не меняется, шрифт установлен, лежит в папке Game, прописал путь к нему, а не работает((
Пы.Сы. Я новичок в RenPy, тапками за глупость не кидатсо.

0
10 Tony_Moor   (14.11.16 18:23)
47091
Код
init python:
style.default.font= "/путь_к_шрифту.ttf"
style.default.size= 30

Прописывать в script.rpy

1
3 PlayerKiller   (08.07.15 16:02)
9604
А как установить свой шрифт, только для диалогового окна? А-то шрифт по умолчанию меняет вообще всё.?

0
4 Leshiy133   (06.09.15 00:27)
8334
А зачёркнутый текст нельзя сделать?) Зачеркнуть в тексте одно слово, например)

0
5 Alex_Apple   (16.09.15 16:30)
12449
Легко. Ставишь перед текстом который нужно зачеркнуть {s} и {/s} в конце.

0
6 Leshiy133   (16.09.15 16:32)
8334
О пасиба! ^__^ уиииии!
happy

0
7 LabaroDD   (01.04.16 19:48)
29075
А в каком скрипте это нужно делать?
Script, options, screens?.. Я потерялся, честно.

0
8 LabaroDD   (01.04.16 21:12)
29075
Предыдущий вопрос отменяю х) Разобрался.
Теперь меня интересует вот что:
1. Как присвоить скорость для "текста от автора"?
2. Как изменить скорость текста внутри реплики? Чтобы реплика к концу появлялась медленнее, чем вначале.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]