Листаем страницы книги



default book_last1 = "pageleft"

default book_last2 = "pageright"

# в папке images должны быть изображения pageleft и pageright

init -1 python:
    # окно игры в центре экрана
    import os
    os.environ['SDL_VIDEO_CENTERED'] = '1'

    # автоматическое объявление изображений
    config.automatic_images_minimum_components = 1
    config.automatic_images = [' ', '_', '/']
    config.automatic_images_strip = ['images']

    # положение центра книги
    book_pos = (.5, .5)

init:
    # положение левой страницы
    transform book_lf():
        pos book_pos anchor (1., .5)

    # положение правой страницы
    transform book_rg():
        pos book_pos anchor (.0, .5)

    # страница исчезает
    transform book_page_off(delay=.25):
        xzoom 1.
        easeout delay xzoom .001

    # страница появляется
    transform book_page_on(delay=.25):
        xzoom .001
        easein delay xzoom 1.

init python:
    # перелистывание влево
    # сначала новые страницы, затем - старые
    # если страницу не указывать, то будет пустая
    def book_next(new1="pageleft", new2="pageright", old1=None, old2=None, delay=.5):
        global book_last1, book_last2
        if old1 is None:
            old1 = book_last1
        if old2 is None:
            old2 = book_last2
        renpy.hide("pleft")
        renpy.hide("pright")
        renpy.show(old1, [book_lf()], tag="pleft")
        renpy.show(new2, [book_rg()], tag="pright")
        # правая (2) исчезает
        renpy.show(old2, [book_rg(), book_page_off(delay*.5)], tag="plist")
        renpy.pause(delay*.5)
        # левая (1) появляется
        renpy.show(new1, [book_lf(), book_page_on(delay*.5)], tag="plist")
        renpy.pause(delay*.5)
        renpy.show(new1, [book_lf()], tag="pleft")
        renpy.show(new2, [book_rg()], tag="pright")
        renpy.hide("plist")
        book_last1 = new1
        book_last2 = new2

    # перелистывание вправо
    def book_prev(new1="pageleft", new2="pageright", old1="pageleft", old2="pageright", delay=.5):
        global book_last1, book_last2
        renpy.hide("pleft")
        renpy.hide("pright")
        renpy.show(new1, [book_lf()], tag="pleft")
        renpy.show(old2, [book_rg()], tag="pright")
        # левая (1) исчезает
        renpy.show(old1, [book_lf(), book_page_off(delay*.5)], tag="plist")
        renpy.pause(delay*.5)
        # правая (2) появляется
        renpy.show(new2, [book_rg(), book_page_on(delay*.5)], tag="plist")
        renpy.pause(delay*.5)
        renpy.show(new1, [book_lf()], tag="pleft")
        renpy.show(new2, [book_rg()], tag="pright")
        renpy.hide("plist")
        book_last1 = new1
        book_last2 = new2

Комментарии