Для начала короткий тест из 3-х вопросов по прошлой теме, чтобы закрепить знания:
Многих новичков очень привлекает возможность писать нелинейный сюжет и вместе с этим пугают целые полотна текста и непонятных значений.
В этой статье я максимально просто расскажу о том, как это сделать.
В прошлой статье мы с Вами придумали такой текст:
"Вы только что переехали в другой город."
"Квартира здесь, Вам досталась от покойного дядюшки, который переписал ее на Вас."
"Вы раскидали как попало вещи и собрались после долгой дороги, наконец, принять душ и пойти спать, как вдруг раздался звонок в дверь"
Давайте теперь предоставим игроку выбор:
"Открыть дверь"
или
"Пойти спать"
Как это сделать?
В renpy, любой выбор прописывается так:
menu:
"Вариант 1":
"Вариант 2":
Ничего сложного, правда?
Давайте теперь пропишем выбор для нашей ситуации:
menu:
"Открыть дверь":
jump open_door
"Идти спать":
jump go_sleep
Как видите, добавилась строчка "jump" (я специально выделил ее жирным шрифтом)
Зачем она нужна?
Слово jump - переводится как прыжок.
Соответственно, вы говорите программе, чтобы она "прыгнула" к значению, которое идет после этого слова.
Причем названия значений, к которым надо перейти, придумываете вы сами и они могут иметь любое имя.
Можете представить себе это как то, что Вы говорите программе зайти в комнату, которая имеет такое название.
Теперь как же нам построить эти самые комнаты?
Каждая комната обозначается словом label
Чтобы программа поняла в какую конкретно ей надо прыгнуть комнату, мы после слова "label" пишем название этой комнаты.
Выглядит это вот так:
label go_sleep:
"Вы решили не открывать дверь и пошли спать"
jump new_day
Не забывайте про двоеточия.
Двоеточие ставится в конце любого значения, если вы хотите придать ему какие-то свойства или поместить что-то внутрь него.
Это мы прописали один вариант.
Остался второй, когда Вы открываете дверь. Он будет подлиннее.
Давайте таким же образом, пропишем и его.
В этом варианте у нас уж есть небольшой диалог.
label open_door:
"Вы решили все-таки посмотреть кто там пришел"
"Когда Вы открыли дверь, то увидели на пороге девушку 18 лет, невысокого роста с большими голубыми глазами"
M "Я Маша — сходу сказала девушка."
M "Ты наш новый сосед?"
V "Эм... Да."
M "Понятно. Пока."
"Девушка развернулась и пошла прочь. Вы закрыли дверь."
"\"{i}И что это было?!{/i}\""
"Вы решили долго не думать над этим, приняли душ и легли спать."
jump new_day
Я думаю, вы заметили, буквы M и V перед репликами. Именно так вы говорите программе, какой персонаж будет произносить ту или иную фразу.
Итак, у нас получалось 2 варианта развития сюжета. Когда игрок сразу идет спать и когда открывает дверь и знакомится с девушкой.
В следующей статье я расскажу, как, наконец, вставить изображения фона, чтобы это не выглядело так, будто игрок говорит со всеми с закрытыми глазами.
А еще через статью, я расскажу, как сделать так, чтобы игра и персонажи запоминали действия игрока.
================================================================
Если вам понравилась статья, не забудьте поставить лайк и подписаться на мой канал. Спасибо.