Меняем курсор

Материал из Ren'Py Wiki
Перейти к навигации Перейти к поиску
Cursor test.jpg

Как сменить курсор из скрипта одной короткой командой. Или заставить курсор меняться при наведении на нужную кнопку.

init python:
    # функция для смены курсора
    # курсоры должны лежать в папке images
    # формат имен фалов для курсоров:
    # 'images/cursor_ИмяКурсора.png'
    def cursor(name = None):
        if name:
            config.mouse = {'default' : [('images/cursor_' + name + '.png', 0, 0)]}
        else:
            config.mouse = None
    # превращаем функцию в action,
    # чтобы можно было привязать, например, к нажатию кнопок:
    # action Cursor("finger")
    Cursor = renpy.curry(cursor)

screen Test:
    # пустая кнопка на весь экран
    # чтобы по наведении на нее курсор менялся на стрелку
    textbutton _(" "):
        xfill True
        yfill True
        background "#00000001"
        hovered Cursor("arrow")
        action Return()
    # кнопка для смены курсора на палец
    textbutton _("Кнопка ничего не делает"):
        align (.5, .35)
        hovered Cursor("finger")
        action NullAction()

label start:
    $ cursor("arrow")
    "Большая стрелка."
    $ cursor("finger")
    "Палец."
    # пример с кнопкой
    show screen Test
    "А теперь пример с наведением курсора на кнопку."
    # сброс своих курсоров
    $ cursor()
    return

На главную страницу Книга рецептов Энциклопедии Ren'Py Renpy для чайников Вернуться к началу статьи