- •Учебник по Ren’Py
- •Начало работы
- •Запомните
- •Учимся работать со сценарием
- •Как правильно писать диалоги персонажей.
- •Домашнее задание
- •Создаем меню выборов.
- •Создаем свои метки
- •Домашнее задание
- •Делаем ссылки на имена персонажей
- •Домашнее задание
- •Именам цвет
- •Переменные и с чем их едят
- •Работа с текстом. Учимся разбирать другие приложения.
- •Домашнее задание
- •Вставляем изображения в новеллу. Фоновый рисунок.
- •Спрайты
- •Как определить размер спрайта для вашего размера экрана
- •Координаты спрайтов на экране
- •Переходы и спецэффекты Переходы
- •Зрелищные переходы ImageDissolve
- •Эффекты перемещения спрайтов Move transition (в основном на спрайты)
- •Переходы CropMove(эффективней менять ими фон) или режим слайда.
- •Эффект AlphaDissolve (герой подглядывает за персонажем)
- •Ваше задание на сегодня
- •Учимся грамотно вызывать прыжки к меткам.
- •Учимся создавать текст на экране и научимся определять координаты ее
- •Координаты изображения
- •Анимация
- •Как вставлять мини игры в вашу игру
- •Метка splashscreen
- •Изображение splashscreen
- •Создаем инсталлятор
- •Много всяких полезных Renpy-разработчику фишек и плюшек в одном месте
- •Заключение
- •Всем спасибо! Что уделили моему маленькому учебнику внимание.
Создаем меню выборов.
Сам жанр новелл состоит из выборов в игре. От выбранного пути будет зависеть судьба персонажа.
Меню выборов создается меткой menu: Давайте поможем парню Анжи сделать выбор
…."Дальше говорить было не зачем."
…."Что вы выберите?"
….menu:
…….."1) Примите их условия":
…………"Анжи" "Мне ничего не остается, кроме как согласиться с ними"
…….."2) Пошлете его в *опу":
…………"Анжи" "Держите меня Семеро!"
…….."3)Попытаетесь сбежать":
…………"Анжи" "А ты попробуй догони меня!"
Теперь разбираем, что мы тут написали
Мы в метке label start:
написали метку menu: после которой, идут пункты выбора.
И теперь что бы написать варианты выбора, нам следует эти варианты разделить, что бы программа ни читала весь текст подряд, а делала выбор.
И теперь вместо 4 пробелов нужно писать 8 (т.к. : обозначает что код задействуется в метке(menu: значит программа прочитает в метке menu: и после : нужно +4 пробела ставить на следующей строке)Мы выбрали вариант, теперь нужно варианту прописать действие, для этого в конце варианта ставим : и текст, действие варианта на следующей строки будет не с 8 пробелов, а с 12 т.к. мы поставили :
Создаем свои метки
Создавая пункты выбора, вы задаете себе вопрос. А как же на 50 часовых новеллах так печатают? Ведь получается что там больше 100 выборов…. Это сколько часов придется листать что бы найти ошибку на 976 строке у которой около 700 пробеллов…. Что бы облегчить себе жизнь, вы создаете метки. Делается это так:
1)Создаете файл в текстовом редакторе. Панель инструментов Файл>Новое>
И там же этот файл сохраняете, только название берите английское, и что бы заканчивалось на .rpy Я создал файл 1_glava.rpy
Теперь давайте вернемся к выборам Анжи. И напишем команду на переход к метке jump….c именем метки.
….menu:
…….."1) Примите их условия":
…………"Анжи" "Мне ничего не остается, кроме как согласиться с ними"
………… jump lox
…….."2) Пошлете его в *опу":
…………"Анжи" "Держите меня Семеро!"
………… jump battle
…….."3)Попытаетесь сбежать":
…………"Анжи" "А ты попробуй догони меня!"
………… jump gruppa_tatu
Обратите внимание, в имени после команд, не должно быть пробелов jump gruppa_tatu,
А так же в кнопке выбора ставится : иначе система не поймет зачем в кнопке выбора("3)Попытаетесь сбежать":) лишняя строка и действия с текстом("Анжи" "А ты попробуй догони меня!" )
И давайте меткам такие названия, что бы вы запомнили их. Или воспользуйтесь кнопкой
В новом файле пропишем эти метки, и что там будет происходить.
Сначала строки (без отступов) пишем
label lox:
label battle:
label gruppa_tatu:
return
return – обозначает конец метки любой. Если ее не записать то она автоматически запустит 2 метку которая идет после нее. Что бы такого не произошло, в конце метки ставят return
label lox:
….Текст
….return
label battle:
И у нас после метки lox, из за return, не запустится метка battle, когда закончится текст.
Либо return ставят в самом конце, в начале строки, и тогда любая метка, у которой закончится логическое продолжение, приведет к завершению игры.
И давайте пропишем последствия от выбора.
label lox:
…."Анжи стал их ней дойной коровой"
…."И когда у него не было денег им вернуть их, его жестоко избивали"
…."Он терпел больше года, пока не вытерпел однажды, и их избил трубой"
…."2 парней стали инвалидами, и Анжи положили в психлечебницу"
…."Плохая концовка"
…. return
label battle:
…."Один раз уступлю, никогда не отстанут"
…."И Анжи ударил в пах рыжему, т.к. он был самым опасным из этой тройки"
…."Потом ударий ногой в колено, тому, что справа. "
…."И пока третий стоял, думал, Анжи побежал в коридор"
…."Рыжий" "Гек, хватай его. Убью гада. Заморыш... по яйцам бить нечестно. Урою, урою, сгною на нижних уровнях"
…." Анжи" "А втроем на одно - значит честно"
…."Убегая подумал Анжи"
…."Продолжение следует"
…. return
label gruppa_tatu:
…."Анжи резко развернулся и побежал от банды в противоположную сторону"
…."Банда была готова к тому, что он побежит, и погнались за ним"
…."Продолжение следует"
….return
Вот как будет выглядеть в сценарии проекта
