38 Кнопки imagebutton и button в Renpy
Кнопка imagebutton работает аналогично textbutton, но с небольшими отличиями. Для её корректной работы вместо текста необходимо указать картинку.
В параметре idle указывается название картинки в кавычках, которая будет отображаться по умолчанию. Если при наведении курсора кнопка должна изменяться - указывается параметр hover.
Обратите внимание, если ваши картинки лежат в папке image (game/image), то в кавычках достаточно писать только название картинки. Движок сам найдёт их расположение.
Если вы помещаете изображения в другую папку, например в gui, то в кавычках следует указать полный путь до изображений.
imagebutton имеет несколько дополнительных свойств для определённых случаев
Параметр focus_mask True позволяет игнорировать взаимодействие с кнопкой, если курсор наведён на прозрачную её часть. Т.е. имея картинку с прозрачными участками, наведение курсора будет срабатывать только на закрашенные участки.
***
imagebutton не позволяет использовать текст поверх картинок, но вы можете написать текст на картинках в фотошоп и других фото редакторах, чтобы он был частью картинки. Однако, если вы планируете делать переводы на несколько языков, то для каждого языка потребуется создавать отдельные изображения с надписями на соответствующем языке. Это не очень удобно.
В таком случае лучше использовать кнопку button, которая позволяет отображать картинку и текст внутри себя. Текст внутри button можно поместить в скобки с подчёркиванием _() для дальнейшего перевода. Кроме того, к тексту можно применять всё те же настройки форматирования, как к обычному тексту. В том числе стили.
Кнопку button также можно представить как контейнер, которому нужно указать размер (обычно такой же как у картинки) и содержимое в виде изображений, текста и других элементов.
Текст внутри кнопки можно стилизовать как обычный текст:
Когда у нас много однотипных кнопок, к тексту можно применить общий стиль:
***
В action для imagebutton и button команды действия прописываются абсолютно также как в textbutton. Чтобы не повторяться, подробно об этом в предыдущем уроке.
***
Изображения из урока:
rar
button.rar7.35 Kb
***
Код из урока:
rpy
button_example.rpy6.45 Kb
***
Предыдущий урок:
Следующий урок:
In bundle
renpy
программирование
разработка игр
визуальная новелла
гайды ренпи
туториалы ренпай