Клавиши которые работают в режиме разработчика
1) Shift + R – Перезагрузить проект/включить авто режим перезагрузки.
Все изменения что мы внесем в сценарий, и сохранив их приведут к тому что запущенный проект автоматически перезагрузит.
2) Shift + O – Включить консоль, где вы сможете вводить команды питона и ренпая (введите там Help и программа покажет часто используемые команды)
3) Shift + G – Системные настройки(там ускорение, геймад, OpenGL и т.д)
4) Shift + E – Открыть файл перевода, текст сценария(не факт)
5) Shift + I – Открыть диспетчер обьектов(мышкой указываете обьект)
6) Shift + D – Открыть меню разработчика
7) Shift + C – вкл/выкл озвучку буфера( что оно делает я не знаю)
8) Shift + V - вкл/выкл Синтезатор речи. Включает компьютерный женский голос который весь текст озвучивает, включая текст при наведении и диалога.
Интерактивный директор
Он позволяет вам добавлять изображения, музыку, переходы напрямую через ренпай.
Идея в том что вы сначало пишете текст и логику сценария, а затем интерактивно расставить изображения там где надо.
Что бы приступить к работе вам потребуется включить режим разработчика. Нажать на клавиши shift + d и выбрать пункт интерактивный директор. Если с первого раза у вас не загрузился директор то перезагрузите проект shift + r . У вас загрузится такое окно
Где стрелкой указано, где пункт выбора что добавить в проект(символ +)
Как будет выглядеть путь, что бы добавить фон.
Нажимаем на + > Выбираем пункт scene > Выбираем из списка изображение > И нажимаем на кнопку Добавить
|
|
Как добавить спрай с переходом
Как указать координату
И звуки
Но стандартные значения, что тут прописаны – это очень мало!!!
Поэтому мы рассмотрим, что мы можем добавить в директора
Все значения пишутся в питон
Изменяем директора
1) $ director.tag_blacklist = { "black", "text", "vtext" }
Черный список тегов, которые не будут отображаться для инструкций show, scene или hide.
2) $ director.scene_tags = { "bg" }
Набор тегов, которые будут представлены для оператора scene и скрыты от оператора show. Если пусто то все изображения
3) $ director . show _ tags = set (" sprite ")
Набор тегов, которые будут представлены для оператора show и скрыты от оператораscene. Если пусто то все изображения
4) $ director . transforms = [ " left ", " center ", " right " ]
Список преобразований, которые будут представлены в составе редактора. Кроме того, любое преобразование, определенное с помощью оператора transform вне самого Ren'Py, будет добавлено в список преобразований, который затем сортируется.
5) $ director.transitions = [ "dissolve", "pixellate" ]
Список переходов, которые предоставляются вместе с заявлением. Поскольку переходы не могут быть автоматически обнаружены, их необходимо добавить вручную.
|
|
6) $ director.audio_channels = [ "music", "sound", "audio" ]
Название аудио каналов, которые могут быть использованы
7) $ director.voice_channel = "voice"
Имя аудиоканала, используемого голосом.
8) $ director.audio_patterns = [ "*.opus", "*.ogg", "*.mp3" ]
Список шаблонов аудио по умолчанию, которые используются для сопоставления файлов, доступных в аудиоканале.
9) $ director.audio_channel_patterns = { }
Карта от имени канала к списку звуковых шаблонов, доступных в этом звуковом канале. Например, если установлено значение { 'sound' : [ 'sound/*.opus' ], 'музыка': ['музыка/*.opus']} музыка и звуковые каналы получают свои собственные списки шаблонов.
10) $ director.button = True
Если значение равно True, директор отображает экран с кнопкой для доступа к окну директора. Если False, то игра может предоставить свой собственный доступ, сделав доступным директора.Начните действие.
11) $ director.spacing = 1
Интервал между линией режиссера (scene, show, hide, with, play, queue, and voice) и линией, не являющейся режиссером, или наоборот. Эти интервалы должны быть 0 или 1 линии, более высокий интервал может не работать.
12) $ director.viewport_height = 280
Максимальная высота видовых окон прокрутки, используемых директором.
Ввод имени персонажа
|
|
Пременяют в проектах, что бы герою (пользователю) ввел с клавиатуры имя персонажа. В последние годы от ввода имени многие разработчики(не все но многие) от данной функции. Обьясню почему.
Это было связанно с 1 из версий Последней фантазии(точно не помню какой именно толи 5-8). Там персонажу дают собаку(питомца) очень похожую на «какашку» и большинство не задумываяся давали ей имя соответствующее – Какашка. И что произошло. В логах боя, когда собака атакует, выглядел так – Какашка кусает противника и т.д. и из за того что поголовно все давали ей имя такое собаке, имел резонанс в фирме разработчика, что я больше не видел в последующих версиях последней фантазии ввод имени. Смысл какой – что есть много людей у которых интеллект не блещет умом. Для них назвать по имени – нонсенс, норма – матом. И потом от таких лиц замечания - игра отстой я там уснул пока проходил. Но такие лица везде есть, это нужно принять как есть. Если вы все равно не передумали вот несколько способов ввести имя.
Пример из обучения
Введите в метке старт такой текст
define g = Character("[name]")
label start:
….python:
……..name = renpy.input(_(" Как тебя зовут ?"))
……..name = name.strip() or __(" Жора!t")
|
|
…."привет [name ]"
….g "и тебе привет неизвестный"
Разберем что тут записано:
1) define g = Character ("[name ]")
- прописываем имя персонажа с переменной "[name ]"
2)python :
- используем питон
3) name = renpy . input (_("Как тебя зовут?"))
- высвечиваем вопрос, и на ввод текста переменная name – будет иметь такое значение
4) name = name . strip () or __("Жора!t")
- страховка на тот случай если пользователь ничего не ввел, тогда имя будет автоматически подобрано Жора а !t – что бы в переводе отобразилась переменная
5)"привет [name ]"
-текст диалога, в квадратных скобках пишут переменную которую необходимо отразить в тексте(имя, число денег, осталось монет…. в тексте диалога).
Что бы вызвать квадратные скобки переведите клавиатуру на английский язык, и просто нажните на русскую х и ъ
6) g "и тебе привет неизвестный"
- что мы прописывали 1 пунктом и теперь персонаж с именемname обращается к кому то в диалоге
У данного способа куча минусов:
1) Неограниченное число ввода знаков. Т.е. введите 60 символов и продолжите текст, у вас высвечится ошибка. Мы не ввели ограничение на мин и макс число символов
2)Китаец если введет имя на своем родном то вместо иероглифов у него будет квакодзябра, из за того что шрифт диалога не поддерживает его язык. И мы не ввели ограничение на язык ввода.
3) Не красивый, и не понятный интерфейс ввода для новичков, которые впервые играют в новеллы.
Более продуманный способ
define vasja = DynamicCharacter ( u ' mc ', image =" vasja ", ctc = anim . Blink (" arrow . png "))
label start :
$ mc = renpy.input("ПОЖАЛУСТА ДАЙТЕ ВАШЕМУ ПЕРСОНАЖУ ИМЯ. Колличество символов 2-10.", allow=" 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZйцукенгшщзхъэждлорпавыфячсмитьбюЙЦУКЕНГШЩЗХЪЭЖДЛОРПАВЫФЯЧСМИТЬБЮ", length=10)
$ mc = mc.strip()
if len(mc) < 2:
"Вы должны использовать минимум 2 буквы"
Jump start
window show
zhora ulibaetsja "[mc]...Я тебя нигде не видела..."
menu:
"Вы хотите быть [mc]?"
" Нет ":
jump name_vibor2
" Да ":
pass
vasja ulibaetsja "Да я новенький..."
Появились новые пункты
1) allow=" 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZйцукенгшщзхъэждлорпавыфячсмитьбюЙЦУКЕНГШЩЗХЪЭЖДЛОРПАВЫФЯЧСМИТЬБЮ"
Мы прописали, что может быть введенено в проект (Если буквы, то большие и маленькие - иначе не примет), как видно тут нет ни символов, ни значков – только буквы русского и английского языка.
2) length=10
Максимальное число символом, которое мы можем ввести
3) $ mc = mc . strip ()
Мы убрали значение, если ничего не выбрал пользователь
4) if len ( mc ) < 2:
"Вы должны использовать минимум 2 буквы"
Jump start
Условие если символов меньше 2 было введенено с клавиатуры с поледующим перенесением обратно в окно выбора.
5) window show – для красоты появление фона диалога не обязательно
Пример из хот спота
Пропишем значение
· init:
· default firstname = ""
· default lastname = ""
· init python:
· def name_func(newstring):
· store.firstname = newstring
· def lastname_func(newstring):
· store.lastname = newstring
· style.input.caret = "my_caret"
· style.input.size = 60
· style.input.color = "#000"
style . input . caret = " my _ caret " – палка вертикальная что мигает, в кавычках имя изображения размером примерно 5х50
Отдельно пропишем это изображение
##for custom cursor caret
image my_caret:
"caret.png"
Ypos 10
Linear 1.0 alpha 1.0
Linear 1.0 alpha 0.0
Repeat
И прописываем сам экран ввода в горячих точках
screen text_input_screen():
default screenvar = False
imagemap:
ground "background.png"
idle "idle.png"
hover "hover.png"
selected_idle "hover.png"
hotspot (150,140,475,200) action SetScreenVariable("screenvar",True)
hotspot (625,140,110,100) action [Hide("text_input_screen"),Jump("complete")]
if screenvar == True:
input default firstname pos(200,165) changed name_func
label start:
call screen text_input_screen
label complete:
d "Your name is [firstname]!"
background.png 800x400
hover . png 800 x 400
idle . png 800 x 400
Дата добавления: 2018-10-27; просмотров: 726; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!