RenPy. Урок 3. Ветвления и переменные

от
GameDev   renpy, визуальные новеллы

Автор: lolbot



Страшная правда: последовательно/параллельно
На самом деле, show/scene только помечает картинку к отображению. События на экране случаются на строчках с with/репликах/паузах. Сравните:
Последовательное применение dissolve:
  1. show dv smile swim far at left with dspr
  2. show us fear dress far at right with dspr

Параллельное применение dissolve:
  1. show dv smile swim far at left
  2. show us fear dress far at right
  3. with dspr




Наводим красоту: порядок спрайтов
show... - если персонажа на экране нет, показать поверх всех, если есть, не менять порядок
show... behind <тэг> - за спиной у кого-то
  1. show dv smile swim close at cright
  2. show un angry pioneer behind dv
show... zorder <число> - чётко задать порядок
  1. show unblink zorder 11
  2. show un shy body zorder 10



Ещё больше ресурсов: play и stop
play sound_loop <звук> - играть зацикленный звук
play sound <звук> - играть звук, не зацикливать
  1. play sound sfx_bed_squeak2
  2. play sound sfx_alisa_falls
  3. play sound_loop sfx_gusty_wind
stop sound_loop - как обычно
stop sound - как правило, не нужно
Список звуков: с повторением | без повторения



Ветвления и переменные: общая идея
  1. init:
  2.     $ х = 0
  3. label somewhere1:
  4.     ...
  5.     $ х += 1
  6.     ...
  7. label somewhere2:
  8.     if x > 0:
  9.         jump success
  10.     jump failure




Ветвления и переменные: объявление переменных
Хороший тон - объявить переменную в init-блоке.
  1. init [<приоритет>]:
  2.     $ <имя переменной> = <выражение>
  3. init 10:
  4.     $ x = y + z
  5. init:
  6.     $ у = 20
  7.     $ z = 10




Ветвления и переменные: изменение переменных
Пока считаем, что все ваши переменные - числа.
$ <имя переменной> = <выражение>
  1. $ х = 0
  2. $ х = у
  3. $ х = у + 1
  4. $ x = x + 1
  5. $ x = (x + 1) * (x / 2)
  6. $ un_lp += 1
  7. $ money *= 2
  8. $ score = min(intellect, money, strength)




Ветвления и переменные: if-условия
if <условие>:
     <вложенный блок>

1 из 3Презентация
  1. if times_been_to_sl_house == 0:
  2.     "Я впервые оказался у Слави дома."




Python-выражения: смена дня и ночи$ <время>_time() - выбор оформления игры
  1. $ prolog_time()
  2. $ day_time()
  3. $ sunset_time()
  4. $ night_time()
$ persistent.sprite_time - выбор оттенка спрайтов
  1. $ persistent.sprite_time = "day"
  2. $ persistent.sprite_time = "sunset"
  3. $ persistent.sprite_time = "night"




Python-выражения: задержки паузы
$ renpy.pause(<ceк>)
  1. $ renpy.pause(0.2)
  2. $ renpy.pause(1.0)
  3. $ renpy.pause(1.5)
$ renpy.pause(<ceк>, hard=True) - без права пропуска
  1. $ renpy.pause(6.2, hard=True)




Меню выборов
1 из 4Презентация
Обычное меню:
  1. us "Тебе нравятся гигантские сколопендры?"
  2. menu:
  3.     "Они мне противны!":
  4.         $ us_lp -= 2
  5.         us "Уууу... Ну ладно..."
  6.     "Не уверен":
  7.         us "Ну ладно..."
  8.     "Да, очень!":
  9.         jump bad_end_ololo




Домашнее задание урока 3. Ветвления и переменные
+3   4   1
17847

  © aNNiMON (Melnik Software)
Онлайн: 43 (1/42)
 
Яндекс.Метрика