Клавиши которые работают в режиме разработчика



 

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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!