HolyJoker | Дата: Воскресенье, 13.01.2019, 11:35 | Сообщение # 1 |
Рядовой
Группа: Администраторы
Сообщений: 7
Статус: Offline
| Есть в RenPy функции Python, прописанные заранее и изменять их нельзя. Одним из ярких примеров служит функция:
name = renpy.input(_(""))
Данная функция нужна для ввода данных игроком. Выглядит конструкция кода так:
python:
name = renpy.input(_("введите_данные"))
name = name.strip() or __("Данные по умолчанию")
Данная функция позволяет игроку ввести данные, которые можно позже использовать. Например задать имя персонажа:
python:
name = renpy.input(_("Введите имя девушки"))
name = name.strip() or __("Незнакомка")
define e = Character("[name]", color="#c8ffc8")
Однако если вы замените name на name1 то игра вылетит с ошибкой.
Проведём маленький разбор, почему так получается:
name = renpy.input(_("введите_данные")) - в данной строке кода переменная "name" является глобальной (заранее написанной за вас) и изменить её можно только на уровне Python.
Вы подумаете что это сильная проблема? Нет. Просто есть ещё и локальные переменные мы их объявляем в коде. Выглядит это так:
$ xpoint = 0
Или же:
define e = Character('', color="#c8ffc8") (если это объявление имени персонажа).
Нам ни кто не запрещает создать конструкцию вида:
$ xpoint = "[name]"
Или
define e = Character("[name]", color="#c8ffc8")
И снова можно в глобальную переменную [name]заносить новые данные. Затем снова передать значение [name]локальной переменной.
Это позволяет игроку ввести различные данные, какие он должен ввести.
Как пример:
Введите имя девушки:
name = renpy.input(_("Введите имя девушки"))
Игрок ввёл имя "Катя".
[name]== "Катя"
define e = Character("[name]", color="#c8ffc8")
Вот девушка и стала Катей.
Введите возраст девушки:
name = renpy.input(_("Введите возраст девушки"))
Игрок ввёл "23".
$ age = [name]Кате стало 23 года.
И так можно настроить что угодно под вкус игрока и под ваши возможности.
|
|
| |