Кто это? Изменение имен персонажей во время игры (Who's that? Changing character names during the game)

Материал из Ren'Py Wiki
Перейти к навигации Перейти к поиску

Довольно часто, когда персонаж появляется в игре в первый раз, игрок не будет знать его имя, только то, что он, возможно, прислуга или незнакомец. Однако позже, когда игроку стало больше известно о персонаже, мы захотим, чтобы игра ссылалась на него по-другому.

К счастью, это легко сделать, используя DynamicCharacter. Мы просто используем заполнитель (который Ren'Py называет "переменной") и затем изменяем значение этого временного термина когда захотим.

define millie = DynamicCharacter("maid_name")
# мы решили назвать переменную "maid_name", но её пока не существует.

label start:
    # Имеет смысл определить "maid_name" в игре на раннем этапе.
    # Вам не нужно использовать переменную сразу.
    $ maid_name = "Служанка"
    # Теперь переменная "maid_name" существует - она создается только тогда, когда вы определили её.

    millie "Надеюсь, вам здесь будет комфортно."
    millie "Мы всегда делаем все возможное, чтобы нашим гости чувствовали себя комфортно."
    millie "Если вам что-нибудь понадобится, просто спросите \"Милли\" - это я."
    $ maid_name = "Милли"
    millie "Посыльный только что принес ваши чемоданы."

Первые три раза, когда Милли говорит, она идентифицируется как "Служанка", но после того, как она сказа игроку своё имя, она будет показана как "Милли".

Для этого простого примера было бы столь же легко использовать два разных Characters и переключаться между ними после того, как Милли назвала своё имя. Но представьте более сложную игру, где Милли только называет своё имя, если игрок решает дать её на чай. Используя DynamicCharacter, вам не надо думать о том выберет игрок дать чаевые или нет, игра, в случае необходимости, покажет "Милли" или "Служанка".

Источник[править | править код]

Статья "Who's that? Changing character names during the game" на английском языке


На главную страницу Книга рецептов Энциклопедии Ren'Py Книга рецептов Ren'Py Вернуться к началу статьи