Итак, я создал один проект, который включает в себя примеры кнопочного ввода, ввода через карту изображения, а затем я немного повеселился с последним, который состоит из нескольких текстовых вводов на одном экране. Последнее немного более интерактивное... небольшая идея только продолжала расти, и теперь я думаю, что мне, возможно, придется создать шаблон рабочего стола компьютера или что-то, с чем другие могут повеселиться.
Загрузите проект, который включает в себя гораздо больше информации и стилей (и третий экран в виде рабочего стола компьютера для развлечения)
### Скачать можно в оригинальной теме
или
Скачать с GitHub
Я предоставлю простую версию здесь:
Переменная, которую мы будем использовать для хранения ввода пользователя и используемой функции, которая выполняет фактическое сохранение.
Код
init:
default myinput_1 = ""
init python:
def change_myinput1(newstring):
store.myinput_1 = newstring
default myinput_1 = ""
init python:
def change_myinput1(newstring):
store.myinput_1 = newstring
Экран с кнопкой ввода
Код
screen simple_button_input():
default input_on = False
modal True
frame:
xalign 0.5
yalign 0.5
vbox:
text "Click to type!"
button:
background Frame(Solid("#ffc"))
xsize 400
if input_on:
input default myinput_1 changed change_myinput1
action SetScreenVariable("input_on", False)
else:
text myinput_1
action SetScreenVariable("input_on", True)
textbutton "close" action Hide("simple_button_input")
default input_on = False
modal True
frame:
xalign 0.5
yalign 0.5
vbox:
text "Click to type!"
button:
background Frame(Solid("#ffc"))
xsize 400
if input_on:
input default myinput_1 changed change_myinput1
action SetScreenVariable("input_on", False)
else:
text myinput_1
action SetScreenVariable("input_on", True)
textbutton "close" action Hide("simple_button_input")
### "Click to type" - "Нажми, чтобы ввести"
Ввод при помощи карты изображения
Ничего нового здесь
Код
init:
default myinput_2 = ""
init python:
def change_myinput2(newstring):
store.myinput_2 = newstring
default myinput_2 = ""
init python:
def change_myinput2(newstring):
store.myinput_2 = newstring
Карта изображения с текстовым вводом
Код
screen simple_imagemap_input():
default input_on = False
modal True
imagemap:
ground "images/post-it.png"
hover "images/post-it_hovered.png"
hotspot(785, 390, 350, 300) action ToggleScreenVariable("input_on", True)
if input_on:
input default myinput_2 changed change_myinput2 pos(830,480) xsize 300 length 50
else:
text myinput_2 area(830,480, 300,250)
textbutton "close" pos(785, 735) action Hide("simple_imagemap_input")
default input_on = False
modal True
imagemap:
ground "images/post-it.png"
hover "images/post-it_hovered.png"
hotspot(785, 390, 350, 300) action ToggleScreenVariable("input_on", True)
if input_on:
input default myinput_2 changed change_myinput2 pos(830,480) xsize 300 length 50
else:
text myinput_2 area(830,480, 300,250)
textbutton "close" pos(785, 735) action Hide("simple_imagemap_input")
Некоторые хорошие вещи, которые нужно знать:
default(по умолчанию) - значение по умолчанию для ввода (в данном случае, самой переменной)
length(длина) - максимальное количество символов, которое пользователь может ввести
pixel_width(ширина в пикселях) - максимальная ширина в пикселях для пользовательского ввода
allow(разрешено) - список строк символов, которые пользователь может вводить
exclude(исключение) - список строк символов, которые пользователь не может вводить
Также: если у вас есть какие-либо вопросы по поводу примеров в github / ZIP-версии, не стесняйтесь спрашивать, и я могу объяснить их более подробно. Все ресурсы в ZIP-архиве бесплатны, они также включают PSD-файлы для изображений. Вам не нужно указывать меня, если вы используете что-либо, но если вы хотите, тогда укажите LunaLucid или Namastaii :joke:
Автор на Lemma Soft: namastaii
Тема на Lemma Soft: тут
Перевёл: progxaker