• Страница 1 из 1
  • 1
Форум о визуальных новеллах » Для разработчиков » Ren'Py » [ПЕРЕВОД] Примеры пользовательского экранного ввода (Перевод темы "Screen (click-to-type) User Input Examples")
[ПЕРЕВОД] Примеры пользовательского экранного ввода

progxaker
Дата: Вторник, 08.10.2019, 18:33 | Сообщение # 1
Проверенный
Сообщений: 36
Награды: 2
Хорошо, я мог зайти слишком далеко с этим. Я хотел бы привести несколько обновленных примеров моего старого поста здесь(перевод).

Итак, я создал один проект, который включает в себя примеры кнопочного ввода, ввода через карту изображения, а затем я немного повеселился с последним, который состоит из нескольких текстовых вводов на одном экране. Последнее немного более интерактивное... небольшая идея только продолжала расти, и теперь я думаю, что мне, возможно, придется создать шаблон рабочего стола компьютера или что-то, с чем другие могут повеселиться.


Загрузите проект, который включает в себя гораздо больше информации и стилей (и третий экран в виде рабочего стола компьютера для развлечения)
### Скачать можно в оригинальной теме
или
Скачать с GitHub

Я предоставлю простую версию здесь:


Переменная, которую мы будем использовать для хранения ввода пользователя и используемой функции, которая выполняет фактическое сохранение.
Код
init:
    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")

### "Click to type" - "Нажми, чтобы ввести"

Ввод при помощи карты изображения


Ничего нового здесь
Код
init:
    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(по умолчанию) - значение по умолчанию для ввода (в данном случае, самой переменной)
length(длина) - максимальное количество символов, которое пользователь может ввести
pixel_width(ширина в пикселях) - максимальная ширина в пикселях для пользовательского ввода
allow(разрешено) - список строк символов, которые пользователь может вводить
exclude(исключение) - список строк символов, которые пользователь не может вводить

Также: если у вас есть какие-либо вопросы по поводу примеров в github / ZIP-версии, не стесняйтесь спрашивать, и я могу объяснить их более подробно. Все ресурсы в ZIP-архиве бесплатны, они также включают PSD-файлы для изображений. Вам не нужно указывать меня, если вы используете что-либо, но если вы хотите, тогда укажите LunaLucid или Namastaii :joke:

Автор на Lemma Soft: namastaii
Тема на Lemma Soft: тут
Перевёл: progxaker


"Ничто не может оставаться таким же вечно. И вещи, приносящие радость и счастье, тоже. Ничто не остается неизменным." - Фурукава Нагиса, CLANNAD


Форум о визуальных новеллах » Для разработчиков » Ren'Py » [ПЕРЕВОД] Примеры пользовательского экранного ввода (Перевод темы "Screen (click-to-type) User Input Examples")
  • Страница 1 из 1
  • 1
Поиск: