Найти тему
Renpy с нуля

Часть 5. Добавление персонажей и базовые движения.

Оглавление

Итак. Фон у нас уже есть и мы можем теперь добавить в игру персонажа.

Картинки с персонажами должны иметь формат png или bmp и иметь прозрачный фон.

Давайте сделаем это.

скрин1
скрин1

Отлично! Теперь мы видим, с кем мы говорим.

Как это сделать?

скрин2
скрин2

Как видите, я написал следующее:

show norm_girl:
xalign 0.5 yalign 1.0
with Dissolve(0.2)
pause .1

Из прошлой главы вы уже знаете что такое xalign и yalign.

Но у нас появилось новое значение.

Со слова with начинаются различного рода переходы. В данном случае, это плавное появление.

Значение (0.2) - Это время в течение которого будет появляться изображение в расчете, что 1.0 - это одна секунда.

То же и со значением pause, которое тоже необходимо. Только pause это задержка появления изображения.

Я всегда ставлю ее очень короткой, потому что мне не нужно задерживать появление изображения.

Но без этого значения, программа выдаст ошибку.

Итак, девушка появилась. Но, например, мы не хотим, чтобы у нее была только одна эмоция.

Тогда можно сделать следующее:

скрин3
скрин3

Лицо девушки приобрело новую эмоцию (а точнее, просто заменился спрайт)

скрин4
скрин4

Для этого мы пишем следующее:

hide norm_girl
show angry_girl:
xalign 0.5 yalign 1.0
with Dissolve(0.2)
pause .1

Как видите, я скрыл предыдущую картинку и на ее место поставил новую.

Если не скрывать предыдущие изображения, то когда вы захотите, чтобы персонаж перешел в другую часть экрана, Вам придется скрывать все спрайты, которые были до этого.

Но, согласитесь, каждый раз прописывать xalign и yalign весьма утомительно и занимает много времени.

Для этого, в renpy есть параметр transform

Его мы прописываем после персонажей (вообще можно в любой части скрипта, но мне удобно так.)

скрин5
скрин5

# Позиции
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

скрин6
скрин6
скрин7
скрин7

Готово!

Теперь, когда мы знаем, как разместить персонажа на экране, давайте я расскажу, как перемещать персонажа по экрану.

скрин8
скрин8

Я не смогу показать, как она убежала за пределы экрана, но напишу код, с которым она это сделает:

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 секунда.

================================================================

На этом, пожалуй, все. Если эта статья была для вас полезной, не забудьте поставить лайк и подписаться на мой канал. Спасибо.