Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- init python:
- # при первом запуске игры создается пустой список "открытий"
- if persistent.pages is None:
- persistent.pages = []
- # номер текущей страницы
- page = 0
- # экран для отображения открытых страничек
- screen scrPages:
- # рамка для страницы
- frame:
- align (.5, .2) # расположение
- # размеры
- xminimum 500 xmaximum 500
- yminimum 400 ymaximum 400
- background "#0028" # фон
- vbox:
- spacing 16
- # контейнер с кнопками управления страницами
- hbox:
- xfill True
- # кнопка, которая листает страницы назад (с проверкой на границы)
- # SensitiveIf делает кнопку активной при выполнении условия
- textbutton _("«") align(.0, .0) action [SensitiveIf(page > 0), SetVariable("page", page - 1)]
- text str(page + 1) + " из " + str(len(persistent.pages)) align(.5, .0)
- # кнопка, которая листает страницы вперед (с проверкой на границы)
- textbutton _("»") align(1.0, .0) action [SensitiveIf(page < len(persistent.pages) - 1), SetVariable("page", page + 1)]
- # если текущая страница доступна, то выводим ее
- if page >= 0 and page < len(persistent.pages):
- $ title, txt, img = persistent.pages[page]
- # горизонтальный контейнер, чтобы картинка была слева
- hbox:
- vbox:
- # картинка
- xminimum 200 xmaximum 200
- # если она есть, то выводим
- if img:
- add img align(.5, .2)
- # вертикальный контейнер для текста
- vbox:
- xfill True yalign .1
- # расстояние между объектами в контейнере
- spacing 16
- # заголовок страницы
- text title xalign .5
- # текст страницы
- text txt xfill True
- label start:
- "Для начала покажем экран со страницами. При первом запуске пустой."
- show screen scrPages
- "Добавим одну страницу."
- $ persistent.pages.append(("Страница 1", "Текст страницы. Просто любой текст для того, чтобы показать пример.", "image1"))
- "А теперь добавим еще пару страниц."
- $ persistent.pages.append(("Страница 2", "Текст второй страницы. И снова просто любой текст для того, чтобы показать пример.", "image2"))
- $ persistent.pages.append(("Страница 3", "Текст второй страницы. И снова просто любой текст для того, чтобы показать пример. Только в этот раз без картинки.", ""))
- "Теперь их можно полистать."
- hide screen scrPages
- "Сеанс окончен. Всем спасибо."
- menu:
- "Очистить список страниц?"
- "Да":
- # эта строка очищает данные в списке страниц
- $ persistent.pages = []
- # скорее всего для этого будет использоваться кнопка
- # textbutton _("Очистить") action SetField(persistent, "pages", [])
- "Нет":
- pass
- return
Add Comment
Please, Sign In to add comment