Своё поле ввода с кнопками «OK» и «Cancel»

Файл скачивания: https://yadi.sk/d/FEKdoR99hTj6T

# своё текстовое окно ввода с кнопками «OK» и «Cancel» # файл script.rpy init python: # для работы функции, текст вводимый в поле current_input_text = "" # фон для окошка с полем ввода (может быть масштабируемой картинкой типа Frame("bg edit", 16, 16)) i_frame = Frame("#0008", 0, 0) # то же для полосы заголовка i_caption = Frame("#0028", 0, 0) # отступ снизу от поля ввода i_vspace = 8 # ширина и высота окошка для поля ввода i_width, i_height = 400, 160 # размер текста для надписей (не для вводимого текста) i_size = 24 # а размер текста в поле ввода задается в параметрах input(***, size=26) # функция вызова поля ввода с кнопками ок и отмена. пример: # $ s = input("Введите имя:", default="Аноним", size=26, color="#8a8", length=10) # возвращает либо введенный текст, либо None (при нажатии Отмены или ESCAPE) def input(prompt=None, **args): global current_input_text if default is None: current_input_text = "" else: current_input_text = default if renpy.call_screen("my_input", prompt, **args): return current_input_text return None def f_input(newstr): global current_input_text current_input_text = newstr # экран ввода с кнопками ок и отмена screen my_input(prompt=None, **args): modal True key "input_enter" action Return(True) key "K_ESCAPE" action Return(False) # рамка в центре экрана frame: align (.5, .5) background i_frame xminimum i_width yminimum i_height xmaximum i_width ymaximum i_height button: yalign .0 background i_caption xfill True action [] # заголовок if prompt: text prompt xalign .5 size i_size else: text " " xalign .5 size i_size # поле ввода и кнопки vbox: align (.5, .65) # поле и надписи по центру рамки add Input(changed=f_input, button=renpy.get_widget("my_input", prompt), **args) xalign .5 add Null(1, i_vspace) hbox xalign .5: textbutton _("OK") xalign .5 action Return(True) text_size i_size textbutton _("Отмена") xalign .5 action Return(False) text_size i_size label start: scene expression "#DEF" if input("Пароль по-эльфийски", length=10, size=32) == "Дэр пароль": "Правильно" else: "Неправильно" return
RSS
Нет комментариев. Ваш будет первым!
Загрузка...

Понравилась статья?

Поддержи нас, чтобы мы создавали больше полезных ресурсов!

Случайная статья