Меню для выбора курсора


init python:
    # функция для смены курсора
    # курсоры должны лежать в папке images
    # cur0 - имя для системного курсора
    def cursor(name = "cur0", x=0, y=0):
        if name != "cur0":
            persistent.cur = name
            persistent.cx = 0
            persistent.cy = 0
            config.mouse = {'default' : [('images/' + name + '.png', x, y)]}
        else:
            config.mouse = None
    # превращаем функцию в action,
    # чтобы можно было привязать, например, к нажатию кнопок:
    # action Cursor("cur0", 2, 4)
    Cursor = renpy.curry(cursor)
    # показать/скрыть меню курсоров
    cur_choo = False
    # при первом запуске ставим курсор по умолчанию
    if persistent.cur is None:
        persistent.cur = "cur0"
        persistent.cx = 0
        persistent.cy = 0
    # при каждом запуске ставим последний выбранный курсор
    cursor(persistent.cur, persistent.cx, persistent.cy)

screen cursor_chooser:
    vbox:
        align(1.0, 0.0)
        # кнопка отображения/скрытия списка курсоров
        imagebutton auto "cur_%s.png" focus_mask True action SetVariable("cur_choo", not cur_choo) xalign 1.0
        # кнопки для смены курсора на палец
        if cur_choo:
            textbutton _("{image=cur0.png}") action Cursor("cur0")
            textbutton _("{image=cur1.png}") action Cursor("cur1", 2, 2)
            textbutton _("{image=cur2.png}") action Cursor("cur2")
            textbutton _("{image=cur3.png}") action Cursor("cur3")
            textbutton _("{image=cur4.png}") action Cursor("cur4", 3)
            textbutton _("{image=cur5.png}") action Cursor("cur5", 3)
            textbutton _("{image=cur6.png}") action Cursor("cur6")

label start:
    # показать экран выбора курсора
    show screen cursor_chooser
    "Нажмите на кнопку в углу и выберите курсор."
    "При следующем запуске курсор сохранится."
    return

Комментарии