RenPy. Урок 2. Наводим красоту

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

Автор: lolbot
ВНИМАНИЕ!!! К первому уроку добавлен пункт "Домашние задания", советую посмотреть его перед чтением.



Понятие о coding conventionНекоторые вещи не стоит делать в коде:
• Не потому что они не заработают (наоборот)
• Потому что в остальном коде уже сделано не так
  1. label test:
  2. me" То, что это работает, не даёт права так делать."



Как не спойлерить себе игру
Писать не имея возможности запустить - глупо.
Но часть ресурсов - не спойлеры!
62/123 фонов - те же, что и в Demo 2009
20/71 треков музыки - те же, что и в Demo 2009
[file=lesson2_2009_music.txt]Список музыки из Demo 2009" href="https://annimon.com/ablogs/file1024/lesson2_2009_bg.txt"> Список фонов из Demo 2009/file]
20/71 треков музыки - те же, что и в Demo 2009
[file=lesson2_2009_music.txt]Список музыки из Demo 2009

Вся музыка




Больше ресурсов: scenescene <фон> - используется и для CG тоже
scene cg d1_rowrow - Батя
scene cg d2_ussr_falling - падающая Ульяна
Список CG




Больше ресурсов: play и stopplay ambience <эмбиент> - начать играть эмбиент
  1. play ambience ambience_dining_hall_full
  2. play ambience ambience_lake_shore_day
stop ambience - прекратить играть эмбиент
  1. stop ambience
Список ambient




Наводим красоту: описания и реплики"Текст может содержать {i}курсив{/i}”
"А так можно делать его {b}жирным{/b}"
"Такая реплика будет выводиться не сразу.{w} А по частям.{w} Дописывая текст."
"Есть и другие тэги. {s}Hо вам про них не говорил.{/s}"




Экранирование символов
  1. Как мы уже знаем, кавычка “ закрывает реплику, а скобка { начинает тэг разметки.
  2. "Текст в \"двойных кавычках\" нужно писать так"
  3. "А так можно писать {{фигурные скобки}."



Наводим красоту: show ... ближе/дальшеshow <спрайт> far- показать спрайт в отдалении
  1. show dv smile swim far
  2. show us fear dress far
show <спрайт> close - показать спрайт вблизи
  1. show un angry body close
  2. show sl serious pioneer close
У всех спрайтов есть far/close версия помимо основной
Список спрайтов




Наводим красоту: show ... левее/правееshow... at <позиция> - показать спрайт где-то Предопределено 5 позиций (слева направо):
left, cleft, center, cright, right.
  1. show us fear dress at left
  2. show dv smile swim far at cright
  3. show sl serious pioneer close at center




Наводим красоту: with dissolvewith dspr - показать плавно, за 0.2 секунды
with dissolve - за 1 сек
with dissolve2 - за 2 сек
  1. show si serious pioneer close at center with dspr
  2. show dv smile swim far at left with dspr
  3. hide si with dissolve
  4. scene cg d5_uv_2 with dspr
  5. scene bg ext_road_sunset with dissolve2




Наводим красоту: with fadewith fade - показать с затемнением, за 1 секунду
with fade2 - 2 сек with flash - 2 сек (fade to white)
with fade3 - 3 сек with fiash_red - 2 сек (fade to red)
  1. scene bg semen_room with fade2
  2. scene cg epilogue_un_bad with fade3
  3. scene bg int_house_of_mt_day with flash
  4. scene bg int_mine_room with flash_red




Наводим красоту: with *punchwith hpunch - трясёт экран по горизонтали with vpunch - трясёт экран по вертикали
Не применяется к конкретному show/scene.
  1. with hpunch
  2. with vpunch




Наводим красоту: show blinkshow blink- закрыть глаза характерной анимацией
show unblink - открыть глаза
show blinking - моргнуть
ОСТОРОЖНО: unblink не отменяет blink, это разные эффекты.
Решение проблемы:
  1. show blink
  2. "..."
  3. hide blink
  4. show unblink



Наводим красоту: play и stopplay... fadein <сек> - начать играть плавно
  1. play music music_list["went_fishing_caught_a_girl"] fadein 5
  2. play ambience ambience_ext_road_day fadein 3
stop ... fadeout <сек> - прекратить играть плавно
  1. stop music fadeout 3
  2. stop ambience fadeout 2




Наводим красоту: всё вместе
  1. label test2:
  2.     play ambience ambience lake shore day fadein 1
  3.     scene bg ext_beach_day with fade
  4.     th "Интересно, а может сегодня я разгадаю загадку этого лагеря? "
  5.     show mt rage pioneer at left with dspr
  6.     mt "Так, а сегодня ты почему не был на линейке?"
  7.     show sl normal pioneer at right with dspr
  8.     sl "Он помогал мне {i}подметать плац ломом{/i}!"
  9.     show mt rage pioneer close at cleft with dissolve2
  10.     mt "Это не отмазка! {w} А ну, марш таскать мешок с сахаром!"
  11.     jump test3

Домашнее задание урока 2
+3   5   2
14586