RenPy. Урок 3. Ветвления и переменные
от BPS
Автор: lolbot
Страшная правда: последовательно/параллельно
На самом деле, show/scene только помечает картинку к отображению. События на экране случаются на строчках с with/репликах/паузах. Сравните:
Последовательное применение dissolve:
Параллельное применение dissolve:
Наводим красоту: порядок спрайтов
show... - если персонажа на экране нет, показать поверх всех, если есть, не менять порядок
show... behind <тэг> - за спиной у кого-то
show... zorder <число> - чётко задать порядок
Ещё больше ресурсов: play и stop
play sound_loop <звук> - играть зацикленный звук
play sound <звук> - играть звук, не зацикливать
stop sound_loop - как обычно
stop sound - как правило, не нужно
Список звуков:
С повторением lesson3_sound_loops.lst
Без повторения lesson3_sounds.lst
Ветвления и переменные: общая идея
Ветвления и переменные: объявление переменных
Хороший тон - объявить переменную в init-блоке.
Ветвления и переменные: изменение переменных
Пока считаем, что все ваши переменные - числа.
$ <имя переменной> = <выражение>
Ветвления и переменные: if-условия
if <условие>:
<вложенный блок>
Python-выражения: смена дня и ночи$ <время>_time() - выбор оформления игры
$ persistent.sprite_time - выбор оттенка спрайтов
Python-выражения: задержки паузы
$ renpy.pause(<ceк>)
$ renpy.pause(<ceк>, hard=True) - без права пропуска
Меню выборовОбычное меню:
Меню выборов с наворотами
Карта лагеря как способ выбора (список зон lesson3_zones.lst):
Карта лагеря с возвратом:
Страшная правда: последовательно/параллельно
На самом деле, show/scene только помечает картинку к отображению. События на экране случаются на строчках с with/репликах/паузах. Сравните:
Последовательное применение dissolve:
- show dv smile swim far at left with dspr
- show us fear dress far at right with dspr
Параллельное применение dissolve:
- show dv smile swim far at left
- show us fear dress far at right
- with dspr
Наводим красоту: порядок спрайтов
show... - если персонажа на экране нет, показать поверх всех, если есть, не менять порядок
show... behind <тэг> - за спиной у кого-то
- show dv smile swim close at cright
- show un angry pioneer behind dv
- show unblink zorder 11
- show un shy body zorder 10
Ещё больше ресурсов: play и stop
play sound_loop <звук> - играть зацикленный звук
play sound <звук> - играть звук, не зацикливать
- play sound sfx_bed_squeak2
- play sound sfx_alisa_falls
- play sound_loop sfx_gusty_wind
stop sound - как правило, не нужно
Список звуков:
С повторением lesson3_sound_loops.lst
Без повторения lesson3_sounds.lst
Ветвления и переменные: общая идея
- init:
- $ х = 0
- label somewhere1:
- ...
- $ х += 1
- ...
- label somewhere2:
- if x > 0:
- jump success
- jump failure
Ветвления и переменные: объявление переменных
Хороший тон - объявить переменную в init-блоке.
- init [<приоритет>]:
- $ <имя переменной> = <выражение>
- init 10:
- $ x = y + z
- init:
- $ у = 20
- $ z = 10
Ветвления и переменные: изменение переменных
Пока считаем, что все ваши переменные - числа.
$ <имя переменной> = <выражение>
- $ х = 0
- $ х = у
- $ х = у + 1
- $ x = x + 1
- $ x = (x + 1) * (x / 2)
- $ un_lp += 1
- $ money *= 2
- $ score = min(intellect, money, strength)
Ветвления и переменные: if-условия
if <условие>:
<вложенный блок>
Python-выражения: смена дня и ночи$ <время>_time() - выбор оформления игры
- $ prolog_time()
- $ day_time()
- $ sunset_time()
- $ night_time()
- $ persistent.sprite_time = "day"
- $ persistent.sprite_time = "sunset"
- $ persistent.sprite_time = "night"
Python-выражения: задержки паузы
$ renpy.pause(<ceк>)
- $ renpy.pause(0.2)
- $ renpy.pause(1.0)
- $ renpy.pause(1.5)
- $ renpy.pause(6.2, hard=True)
Меню выборовОбычное меню:
- us "Тебе нравятся гигантские сколопендры?"
- menu:
- "Они мне противны!":
- $ us_lp -= 2
- us "Уууу... Ну ладно..."
- "Не уверен":
- us "Ну ладно..."
- "Да, очень!":
- jump bad_end_ololo
Меню выборов с наворотами
- menu:
- "Куда бы мне пойти?"
- "В свою палатку":
- jump home_evening
- "На пляж":
- jump beach_evening
- "В гости к Мику" if (know_where_miku_lives > 0):
- jump hentai_evening
Карта лагеря как способ выбора (список зон lesson3_zones.lst):
- $ disable_all_zones()
- $ set_zone("camp_entrance","bus_event")
- $ set_zone("forest","forest_event")
- $ show_map()
- menu:
- "К воротам лагеря":
- jump bus event
- "В лес":
- jump forestevent
Карта лагеря с возвратом:
- $ disable_all_zones()
- $ set_zone("camp_entrance","bus_event")
- $ set_zone("forest","forest_event")
- jump map_loop
- label map_loop:
- $ show_map()
- label bus_event:
- ...
- $ disable_current_zone()
- jump map_loop
Домашнее задание урока 3. Ветвления и переменные