Итак. Фон у нас уже есть и мы можем теперь добавить в игру персонажа.
Картинки с персонажами должны иметь формат png или bmp и иметь прозрачный фон.
Давайте сделаем это.
Отлично! Теперь мы видим, с кем мы говорим.
Как это сделать?
Как видите, я написал следующее:
show norm_girl:
xalign 0.5 yalign 1.0
with Dissolve(0.2)
pause .1
Из прошлой главы вы уже знаете что такое xalign и yalign.
Но у нас появилось новое значение.
Со слова with начинаются различного рода переходы. В данном случае, это плавное появление.
Значение (0.2) - Это время в течение которого будет появляться изображение в расчете, что 1.0 - это одна секунда.
То же и со значением pause, которое тоже необходимо. Только pause это задержка появления изображения.
Я всегда ставлю ее очень короткой, потому что мне не нужно задерживать появление изображения.
Но без этого значения, программа выдаст ошибку.
Итак, девушка появилась. Но, например, мы не хотим, чтобы у нее была только одна эмоция.
Тогда можно сделать следующее:
Лицо девушки приобрело новую эмоцию (а точнее, просто заменился спрайт)
Для этого мы пишем следующее:
hide norm_girl
show angry_girl:
xalign 0.5 yalign 1.0
with Dissolve(0.2)
pause .1
Как видите, я скрыл предыдущую картинку и на ее место поставил новую.
Если не скрывать предыдущие изображения, то когда вы захотите, чтобы персонаж перешел в другую часть экрана, Вам придется скрывать все спрайты, которые были до этого.
Но, согласитесь, каждый раз прописывать xalign и yalign весьма утомительно и занимает много времени.
Для этого, в renpy есть параметр transform
Его мы прописываем после персонажей (вообще можно в любой части скрипта, но мне удобно так.)
# Позиции
transform center:
xalign 0.5 yalign 1.0
transform left:
xalign 0.2 yalign 1.0
transform right:
xalign 0.8 yalign 1.0
Теперь мы можем написать так:
show norm_girl at center
with Dissolve(0.2)
pause .1
Готово!
Теперь, когда мы знаем, как разместить персонажа на экране, давайте я расскажу, как перемещать персонажа по экрану.
Я не смогу показать, как она убежала за пределы экрана, но напишу код, с которым она это сделает:
show norm_girl:
xalign 0.5 yalign 1.0
linear 0.5 xalign -1.0
Как Вы могли заметить, я снова вручную написал позиции и появился параметр linear
Дело в том, что если Вы хотите переместить Вашего персонажа плавно, то параметр transform здесь не сработает и нужно писать позиции вручную
linear - это параметр, который говорит программе, что персонажа надо "передвинуть" на позицию xalign -1.0
Цифра, которая идет сразу после слова linear, как вы могли уже догадаться - скорость, с которой будет перемещаться персонаж. И здесь так же 1 (не 1.0) = 1 секунда.
================================================================
На этом, пожалуй, все. Если эта статья была для вас полезной, не забудьте поставить лайк и подписаться на мой канал. Спасибо.