Фон, который зависит от времени суток - 2

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

init python:
    # объявить картинки автоматом
    config.automatic_images_minimum_components = 1
    config.automatic_images = [" ", "_", "/"]
    config.automatic_images_strip = ["images", "gui"]

    # получить английское название времени суток
    # если не указывать время в часах,
    # то будет взято системное время
    # можно задать начало утра, дня, вечера и ночи в часах от 0 до 23
    import datetime
    def time_of_day(hours=None, morning=7, day=11, evening=18, night=23):
        if hours is None:
            hours = int(datetime.datetime.now().strftime("%H"))
        res = "night" # по умолчанию ночь
        if (hours >= morning) and (hours <= day):
            res = "morning"
        if (hours > day) and (hours <= evening):
            res = "day"
        if (hours > evening) and (hours < night):
            res = "evening"
        return res

    # если задать какое-то значение для persistent.time_hard, то именно оно
    # и будет добавляться вместо реального времени суток
    # по умолчанию пусть будет сброшено, берем время суток с часов
    if persistent.time_hard is None:
        persistent.time_hard = False

    # функция для отображения картинок, зависящего от времени суток или persistent.time_hard
    def img_time(st, at, img):
        if persistent.time_hard:
            return img + " " + persistent.time_hard, .1
        return img + " " + time_of_day(), .1

    # задаем в качестве фона главного меню динамическую картинку (для нового GUI)
    gui.main_menu_background = "mm"

init:
    image mm = DynamicDisplayable(img_time, "bg class")

# Игра начинается здесь:
label start:
    scene mm
    menu:
        "Выберите время суток"
        "Утро":
            $ persistent.time_hard = "morning"
        "День":
            $ persistent.time_hard = "day"
        "Вечер":
            $ persistent.time_hard = "evening"
        "Ночь":
            $ persistent.time_hard = "night"
        "Сверять по часам":
            $ persistent.time_hard = False
    return

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