У меня вопрос по поводу мейкера персонажа, о котором говорили выше... Ну, или почти. В любом случае... Каким образом можно воплотить подобное в новелле? ну, чтобы можно было выбрать внешность игрового персонажа, и можно ли? Когда я думала над этим, то, в сущности, можно было бы организовать сам процесс выбора с помощью имаджмепа, вполне по-моему Но Вопрос в том, как запомнить выбор игрока? Чтобы при 36 или более различных комбинаций не обязательно было прописывать потом коды для каждой из них при каждой необходимости показать персонажа Конечно, так можно сделать, мол, если игрок выбрал прическу 4, одежду 5 и прочее прочее, то вывести такое-то изображение, но это черезчуррр геморойно.. Может быть, можно было бы сохранить временную копию получившегося перонажа под конкретным именем, к примеру? Или хотя бы при достижении определенной комбинации выборов присвоить персонажу конкретное изображение.. То есть изменить строчку в блоке инит, ага (Такое вообще возможно?-.-") Или я дурочка и слишком многого хочу?.. Надеюсь, я не слишком много глупостей тут наговорила.... <.<
Копаясь на зарубежном форуме по Ren'Py обнаружил неприметный учебник. Надеюсь он будет полезен.
Ren'Py Textbook
Автор: Сергей Романов На форуме Lemma Soft: Andredron Размер файла: 23.7 МБ Последние изменения: 22.06.2018 00:34 Почта автора(указанная на форуме): [email protected] 545 страниц(~52.3 тыс. слов, ~422 тыс. символов)
Содержание(пришлось поморочиться с табуляцией)
Благодарности Введение Для кого написана данная книга Почему именно Ren’Py? Философия питона Основы. Начало работы Ориентирование в главном меню Launcher Ren’Py Знакомство с текстовым редактором jEdit Прописываем персонажей в проект Меню, прыжки, вызовы Комментарии 3 способа прописать изображение в проект Фоновое изображение Спрайт и вызываемые слои изображений Изображение которое меняется от значения переменной Основные ошибки при написании ConditionSwitch Создаем спрайт из нескольких изображений Как убрать объект Слои в ренпае Стандартные координаты изображений [Таблица] Дробные значение [Таблица] Точные значения [Инструмент] Как поменять фон, что бы в нем не пропали обьекты другие 3 способа прописать скорость текста Как вызывать переходы изображениям [Ссылка] Alt анимации Трансформации Screen Как отобразить экран в проекте Как отобразить текстовую кнопку Графические кнопки Редактируем главное меню Добавляем звук в экран и в проект Подробный разбор возможностей ренпая Диалог, и все что прописывается в текстовом диалоге. Множественный диалог Пишем ответ вместо выбора Список значений аргументов при создании персонажа: 1) window_ 2) who_color и what_color 3) who_font и what_font 4) what_size и who_size 5) what_outlines и who_outlines 6) what_xalign и who_xalign 7) what_textalign и who_textalign 8) what_layout 9) None 10) what_prefix и what_suffix 11) kind 12) image 13) kind=nvl 14) ctc Изображение, которое ставят в конце диалога 1) Пример из обучения 2) Мой пример Изображение за диалоговым окном 1) пример из обучения 2) Мой пример 3) Пример из леммафорума 1 4)Пример из леммафорума 2. Вверх вниз стрелка 5) Пример из леммафорума 3. Анимация 15) dynamic 16) voice_tag Подробный разбор текстовых тег [Список]: 1) Добавить спец символы в ренпай \" 2) Строку перенести ниже \n 3) Полужирное начертание {b} 4) Курсивное начертание {i} 5)Подчеркивание текста {u} 6)Добавление линии, проходящее посередине текста {s} 7) Увеличить размер текста {size=+число} 8)Уменьшить размер текста {size=-число} 11)Вставить изображение или смайл в текст {image=exclamation.png} 12)Поменять цвет текста {color=#008000} 13)Создать сверху текста надписи(их правильного произношения) {rb} 14)Сделать текст вертикальным {vert} 15)Сделать горизонтальный текст{horiz} 16)Создать в проекте ссылку на сайт {a=https://www.renpy.org} 17)Гиперссылка в тексте 18)Сделать текст прозрачным{alpha=0.1} 19)Заставить появляться текст с определенной скоростью{cps=25} 20)Поменять шрифт текста{font=DejaVuSans-Bold.ttf} 21)Уменьшить отступы символов между собой 22)Сделать отступ горизонтальный(пустое пространство) 23)Сделать отступ вертикальный(между строками) 24)Немедленно перейти к следующему тексту и использовать разные переходы 25)Что бы переменная отображалась в переводе, в конце нее ставят !t 26)Вывести весь текст сразу на экран. Как добавить случайную фразу в конце предложения Выставляем позицию для имени персонажа 1)Костыль, но чуть ли не единственное решение, если у вас сложная рамка. 2)Истинный но самое то для кучи имен с одинаковыми значениями. Картинки в кнопках выбора [menu]Специальные персонажи в ренпае 1)Персонаж Centered 2)Персонаж vcentered 3)Персонаж extend 4)Персонаж expression Подробный раздел координат изображений Подробный раздел трансформаций[Список] 1)Смена фона с переходом (например, растворение) 2)Телепорт 3) Интерполяция времени linear 4) ZOOM ZOOM 5) Size 6)Альфа 8) Сrop. Обрезка 9) Алт трансформация 10) Оператор Вlock и time. Братья неразлучные 11) Оператор Parallel 1) Магия среди нас 2) Изображение скачет по экрану на все 4 стороны. 12) Оператор Сhoice 13) Выходим за пределы экрана. 14) Блок on 1)Кнопки 2)Растворение 3) Как задать спец мелодию при пропуске. 15) Contains 16) Function 17)Различные интерполяции Warpers 18) alignaround и clockwise circles 19)Around 20) Angle 21) Radius 22)Tile 23) Pan 24) Offset 25) randmotion Автоматическое объявление анимации Подробный разбор переходов и спецэффектов Прописанные переходы 1) with Dissolve 2) with fade 3) with pixellate 4) with vpunch 5) with hpunch 6) with Pause(1) 7)Жесткая пауза Переходы Move Простые переходы Переход moveout Переход movein Zoomin и Zoomout CropMove Переход в виде прямоугольника Переходы PushMove Переходы которые самостоятельно создаются(ImageDissolve) Жалюзи Квадраты Открываем и закрываем глаза Телепорт(построчное изчезновление) Переход AlphaDissolve Как задать время переходам Эффект dissolve, но с учетом прозрачности спрайта. Эффект вспышки нужного цвета для смены фонов. Примеры интересных трансформаций(Sprite). 1)Эффект падающих сверху снежинок или листьев(SnowBlossom) 2 способ вызвать снег 2) Эффект Звездного неба(звезды двигаются справа на лево) 3) С право налево вылетело изображение, которое плавно вертится и исчезает 4) По экрану скачут шарики-изображения в случайном порядке 5)Рандомные мерцающие звезды 6) Эффект репульсон(мы мышкой ищем вещи) 7)Сиськотряс 8) Маскировка снайпер 9) Фонарик 10) Компас(пример) 11) Метель 12) Звездное небо прямо в лицо 13) Эффект Двоения в глазах(Пьяный) 14) Взрыв частиц Операции над изображением 1) Crop 2) im.Composite 3)LiveComposite 4) im.Scale 5) im.FactorScale 6) im.Map 7) im.Recolor 8) MatrixColor Тусклый оттенок Инвертировать оттенок 9) im.Grayscale 10) im.Sepia 11) im.Alpha Аналог только с размытием(как будто в зеркале): 12) im.Flip 13) Text 14) Эффект размытия изображения Режим Nvl Очистить экран Nvl Убрать и показать переход в NVL Меню в Nvl Как запретить откат назад на nvl Как прописать автоматический переход на nvl Убрать предыдущую строку в Nvl Настраиваем экран NVL 1) Истинный 2) Костыльный Ограничить максимальное число строк в nvl Режим ADV Как запретить откат назад в ADV Как сделать, чтобы при перемотке назад у игрока не было возможности сменить свой выбор Подробный разбор звуков Как добавить звуки и музыку в проект Как изменить громкость звуков и музыки Как обьявить в имя - музыкальный файл Как добавить голос в диалог Как сделать случайное воспроизведение музыки Как вставить песню в главное меню Как привязать к кнопкам звук Частичное воспроизведение музыки Альтернатива Автоматическое обьявление мелодий и звуков Поставить музыку на паузу Музыка в меню от времени суток Как показать громкость музыки в процентах Саундчек, при смене громкости Пользователь не может пропустить сцену пока играет музыка Splashscreen Метка splashscreen Так же его можно модернизировать, прописать кнопку пропуск сцены Или задать одноразовый вопрос пользователю, А тебе точно есть 18? Изображение splashscreen Экраны Правильный пример как прописывать экран: Как отобразить экран в проекте Экран с 3 параметрами Несколько параметров экранов 1) modal True 2)Zorder 3)style_prefix 4) tag menu Python в экранах Операторе default Операторы if, elif, else Оператор for Оператор Frame(рамка для экрана) Как убрать стандартную рамку в экране Оператор Add и как добавить изображение в глав меню Как прописать изображения в главное меню? Оператор text Как прописать музыку в экране Как прописывать координаты объектам? Оператор on Как задать координату – куда будет двигаться мышке Оператор Key Управляем штруделем Колесико мышки Что то вроде предварительного сообщения, что появится на ввод Обьекты box и grid Текстовые кнопки и экран уведомления Notify А как изменить Notify? Свой экран Notyfy2 Как прописать в экране вопрос при нажатии Вызов screen с преобразованием Список действий кнопок для textbutton Функции при нажатии. action **** Действия данных Menu Actions File Actions Audio Actions Voice Actions Other Actions Imagebutton Мой любимый способ Текстовая кнопка с графическими элементами Как прописать кнопке, не активировать прозрачные поля. Как при наведении на кнопку сделать, что бы экран менял цвет Плюсы и минусы кнопок Графическая карта imagemap(hotspot) Пример простейшей граф карты на главное меню. Добавляем комментарии на карте Графическая карта Меню Настройки Графическая карта загрузки и сохранения Обьекты-полоски (Bar ) Бар с точным значением Существуют 3 вида стандартных в Gui прописанных горизонтальных стилей баров. Так же есть 3 стандартных вертикальных стилей баров А так же существует бар для горячих точек, Настройки баров прописаных Как добавить свой бар в проект? Как прописать старую версию бара в новом gui Где взять коды старых баров? Действия бара Подробный разбор значений баров. Настройки стиля бара Список имен пунктов стилей(и другие значение стилей подойдут, но эти чисто баров настройки) Как прописать значение бара через переменную Делаем круглый бар Default Viewport 1)Вертикальные и горизонтальные полосы (scrollbars "both") 2) Горизонтальные полосы (scrollbars "horizontal") 3) Вертикальная полоса( scrollbars "vertical") Как установить начальную зону просмотра.(xinitial и yinitial) Как клонировать обьекты в порте Пример скрола с огромным числом текста Drag and Drop Экран загрузки Подробный разбор значений drag Как перенести изображение в область где должно произойти событие Простой способ смены суток Простейший календарь Прописываем отображение денег Часы электронные и цифровые Вызов call из экрана screen Информационный экран, пополняемый Информационный экран 2. Лист персонажа Листаем страницы книги Стили Через стиль можно задать координаты Через стиль можно задать размеры рамки Изменяем текст воспроизведения для синтезатора речи Удобный способ написания стиля в экранах Настройки текста стиля в экранах и в персонажах Вертикальный текст Жирный текст Курсивный текст Нижнее подчеркивание Цвет тексту Шрифт тексту Обводка теста Сглаживание текста Интервал расстояния текста Отступ 1 строки текста Дополнительный пробел между словами Расстояние между каждой буквой Интервал над строками интервал под строками Минимальная ширина строки Скорость появления имени персонажа Скорость диалога персонажа зачеркнуть текст Стиль рамок Задний фон Изменяем размеры внутри фона кнопки Изменяем размеры вне фона кнопки Передний фон Сделать одинаковым размером все кнопки Стиль кнопок Звук при наведении и нажатии Невидимая зона не активна у кнопки Сфокусировать кнопку при помощи клавиатуры Минимальный и максимальный размеры Прописываем стиль кнопкам выбора Прописываем в настройках цвета кнопок главного меню
Видео Как проиграть видеозаставку до появления главного меню Как добавить видео фоном Как добавить видео-спрайт. Как указать видео координаты Как отключить возможность пропуска видео. Режим разработчика Клавиши которые работают в режиме разработчика Интерактивный директор Изменяем директора Ввод имени персонажа 1)Пример из обучения 2) Более продуманный способ 3)Пример из хот спота 4) Прописываем имя и фамилию персонажа 5) "Герой без конкретного имени" Имя пользователя которая прописана на вашем компьюторе Создаем экранную клавиатуру Генераторы случайных чисел 1) renpy.random.choice Простой пример – камень ножницы и бумага с списком Пример переменной с разными переменными Как отобразить изображение рандомно Генератор случайных чисел в тексте 2) renpy.random.randint Числовые значения Как прописать прыжки случайные по меткам Как прописывать действия в процентном соотношении. 3) renpy.random.random() 4) renpy.random.shuffle 5) random.sample Что-то типа чит-кодов Как переменой прописать координаты Создаем пароль Таймеры. Числовой таймер Таймер в виде бара Выборы меню изчезают каждые 2 секунды Создаем хентай цензуру Сохраняем и загружаемся прямо из скрипта Настраиваем Главное меню Создаем кнопку продолжить игру и текст подтвеждения 1 вариант 2 вариант Создаем паузу в проекте Красивый переход для главного меню Меняем изображение рабочего стола Разные фоны для главного меню в зависимости от концовок Фон меню от времени суток на компьютере Как вывести на экран время, проведенное в игре Как отобразить % пройденной игры 1 вариант 2 вариант Как отобразить текущее время на ПК Добавляем выбор стиля для Quick Menu Добавляем в настройки размер текста Прописываем несколько разрешений экрана в проект. Как создать раздел Повтор сцены Как удалить файл/папку из ренпая Как перезагрузить проект в главное меню Как убрать курсор во время игры Как создать отдельный архив Изучаем питон Особенности Python Стиль программирования Рекомендации по стилю Отступы Пустые строки Как вызывать коды питона в ренпае Зачем нужен блок init? Связка if, elif, else Основные действия с переменными Логические выражения [Флаги] Числовое значение Текст в виде переменной Изменение регистра символов в строках Конкатенация. Объединение переменных Удаление пропусков Списки Обращение к элементам списка Изменение элементов в списке Добавление элементов в список Присоединение элементов в конец списка Вставка элементов в список Удаление элемента с использованием команды del Удаление элемента с использованием метода pop() Извлечение элементов из произвольной позиции списка Удаление элементов по значению Постоянная сортировка списка методом sort() Вывод списка в обратном порядке Определение длины списка Перебор всего списка Подробнее о циклах Генератор список Создание среза Перебор содержимого среза Копирование списка Словари Простой словарь Работа со словарями Обращение к значениям в словаре Добавление новых пар «ключ—значение» Создание пустого словаря Изменение значений в словаре Удаление пар «ключ—значение» Словарь с однотипными объектами Перебор всех пар «ключ—значение» Перебор всех ключей в словаре Упорядоченный перебор ключей словаря Перебор всех значений в словаре Список в словаре Словарь в словаре Циклы while Пользователь решает прервать работу программы Флаги Использование цикла while со списками и словарями Удаление всех вхождений конкретного значения из списка Заполнение словаря данными, введенными пользователем Функции Определение функции Необязательные аргументы Возвращение словаря Использование функции в цикле while Изменение списка в функции Запрет изменения списка в функции
Генератор цепи маркова Первые шаги на пути портирования с pygame на RenPy. Как сделать обратную связь с бетатестером Как добавить сторонний модуль в ренпай (Sqlite3 и BerkeleyDB) Создаем инсталлятор Портируем проект на андроид/айфон Портируем андроид Как убрать логотип Ренпая на андроиде Портируем на айфон проблема всех начинающих кодировщиков. Как сделать перевод проекта на другой язык 1) Костыльный 2) Истиный Готовим проект к переводу готовим код для создания перевода Как вскрыть код другого проекта, написанного на ренпае. Через специализированную программу Quest Viewer Статья 272. Неправомерный доступ к компьютерной информации Начало работы unrpa unrpyc Создаем свою тему лаунчера ренпая Создаем Свою иконку проекта Сайты Облака для хранения файлов Всем спасибо! Что уделили моему маленькому учебнику внимание.