Меню в виде анимации отгибающейся страницы

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

init:
  # состояние меню - развёрнуто
  $ menu_visible = False
  # пауза между кадрами анимации
  $ t = 0.1
  # анимация отгибания листа
  image list = Animation("list2.png", t, "list3.png", t, "list4.png")
  # анимация возврата листа на место
  image listoff = Animation("list4.png", t, "list3.png", t, "list2.png")
  image cg = "cg.jpg"
# экран с кнопками
screen scr_btns:
  # таймер - ждём, когда закончится анимация
  timer t*2 repeat False action SetVariable("menu_visible", True)
  if menu_visible == False:
    # отображаем анимацию
    add "list" xalign 1.0 yalign 0.0
  # если анимация закончилась, показываем кнопки
  if menu_visible:
    imagebutton idle "list4.png" hover "list4.png" focus_mask True xalign 1.0 yalign 0.0 action [Show("scr_list"),Hide("scr_btns")] # кнопка сворачивания листа в виде самого листа
    # кнопки меню
    imagebutton auto "btn_back_%s.png" xpos config.screen_width-160 ypos 20 focus_mask True action [Rollback(), SetVariable("menu_visible", True)]
    imagebutton auto "btn_pref_%s.png" xpos config.screen_width-80 ypos 40 focus_mask True action ShowMenu("preferences")
    imagebutton auto "btn_hide_%s.png" xpos config.screen_width-55 ypos 105 focus_mask True action HideInterface()
# экран с листком
screen scr_list:
  if menu_visible:
    # отображаем анимацию сворачивания
    add "listoff" xalign 1.0 yalign 0.0
  # таймер - ждём, когда закончится анимация
  timer t*2 repeat False action SetVariable("menu_visible", False)
  if menu_visible == False:
    # кнопка - уголок листа
    imagebutton idle "list1.png" hover "list2.png" focus_mask True xalign 1.0 yalign 0.0 action [Show("scr_btns"), Hide("scr_list")]
label start:
  # отображаем наше свёрнутое меню
  show screen scr_list
  scene cg
  "Текст новеллы...\nСтраница 1"
  "Страница 2"
  "Страница 3"
  return

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