Сайт Anivisual.net закрыт

Он продолжит функционировать в виде архива. Новые материалы добавлять нельзя.

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

Стилизация текста (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
18
Декабрь
14
4.1
36482
Добавлять комментарии могут только зарегистрированные пользователи.

Комментарии к записи: 14

avatar
#1 Solo322
в 09:39 (06/Янв/2015)
0
Здесь написано как привязать настройки текста к конкретному персонажу. А как привязать те же настройки ко всему тексту сразу?
avatar
#2 sDextra
132
в 00:57 (09/Май/2015)
2
Лучше поздно, чем никогда :D
Сменить можно через стили - "style.default". К примеру, если весь текст нужен с контуром, то в любом месте:
Код
init python:   
     style.default.outlines = [ (3, "#fff4", 0, 0),  ]

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

И так далее...
avatar
#9 Bruzer
16173
в 21:05 (04/Апр/2016)
0
Ой, блэн, сорре, но у меня ничего не меняется, шрифт установлен, лежит в папке Game, прописал путь к нему, а не работает((
Пы.Сы. Я новичок в RenPy, тапками за глупость не кидатсо.
avatar
#10 Tony_Moor
47091
в 17:23 (14/Ноя/2016)
0
Код
init python:
style.default.font= "/путь_к_шрифту.ttf"
style.default.size= 30

Прописывать в script.rpy
avatar
#3 PlayerKiller
9604
в 15:02 (08/Июл/2015)
1
А как установить свой шрифт, только для диалогового окна? А-то шрифт по умолчанию меняет вообще всё.?
avatar
#4 Leshiy133
8334
в 23:27 (05/Сен/2015)
0
А зачёркнутый текст нельзя сделать?) Зачеркнуть в тексте одно слово, например)
avatar
#5 Alex_Apple
12449
в 15:30 (16/Сен/2015)
0
Легко. Ставишь перед текстом который нужно зачеркнуть {s} и {/s} в конце.
avatar
#6 Leshiy133
8334
в 15:32 (16/Сен/2015)
0
О пасиба! ^__^ уиииии!
happy
avatar
#7 LabaroDD
29075
в 18:48 (01/Апр/2016)
0
А в каком скрипте это нужно делать?
Script, options, screens?.. Я потерялся, честно.
avatar
#8 LabaroDD
29075
в 20:12 (01/Апр/2016)
0
Предыдущий вопрос отменяю х) Разобрался.
Теперь меня интересует вот что:
1. Как присвоить скорость для "текста от автора"?
2. Как изменить скорость текста внутри реплики? Чтобы реплика к концу появлялась медленнее, чем вначале.
avatar
#11 Алоцветик
69466
в 11:06 (03/Дек/2017)
0
Не получается изменить цвет имени персонажа... Еще пара часов работы над этим - и я захочу убивать. Иногда тупо копировала текст из примеров с сайтов, но ничего не меняется. Хорошо, если вообще запускается...
avatar
#12 blockhero
70382
в 04:10 (23/Дек/2017)
0
Можете мне объяснить наиболее подробно как сделать тень, т.к. я вообще тупой и не понял из текста выше как это сделать:smile_76: .
p.s. У меня такая ситуация что надо сделать текст с обводкой т.е. тенью ТУТ
http://pixs.ru/showimage/prrimersob_7130092_28759539.png
Юзаю renpy 6.99 .
avatar
#13 Girruda
432377
в 12:32 (24/Июл/2021)
0
спасибки!
avatar
#14 orekhovr
515441
в 21:14 (01/Авг/2021)
0
------