Как сделать перелистывание страниц
- Alexander Kuznetsov
- Aug 3, 2015
- 2 min read

При реализации медиаресурсов в учебных целях или при созднии интерактивных книг необходимо реализовать перелистывание страниц вперёд и назад, в зависимости от выбора читателя. alt.Media player даёт такую возможность стандартными средствами, хотя со временем я планирую подготовить специальные модули, расширяющие возможности проигрывателя и позволяющие просматривать документы.
Итак, как же сделать перелистывание страниц? Рассмотрим на примере демонстрационного фрагмента, «За горизонтом привычных событий». Как и у всякой книги (или учебного пособия) здесь есть обложка. Отобразим её и запустим фоновую музыку, дождёмся касания экрана:
{ ep03 Начало демонстрационного фрагмента
calc: p: 1
buzz: strange
play: #hush
show: bth
pick: >ep03_g0 Коснитесь экрана чтобы продолжить
} #loop
Далее у нас есть несколько страниц, которые необходимо произвольно перелистывать, до тех пор, пока не будет перелистнута последняя страница. Реализуем это с помощью трёх блоков, первый из которых отображает графический файл, имя которого оканчивается номером, хранящимся в переменной «р». Два последующих блока обеспечивают увеличение (или уменьшение) значения переменной, проверку номера страницы на выход из диапазона и отображение новой страницы с эффектом листания (задаётся в поле «flip:»):
{ ep03_g0
mode: #flip0B
play: #hush
show: ep03_0%p
pick: >ep03- @0049
pick: >ep03+ @5049
info: Коснитесь экрана слева или справа
} #loop
{ ep03-
mode: #flip3L
calc: g: p = 1 , q: g ! , p: p - q
play: #hush1
show: ep03_0%p
info: Ждите…
} >ep03_g0
{ ep03+
mode: #flip3R
calc: g: p = 7 , q: g ! , p: p + q
play: #hush1
show: ep03_0%p
info: Ждите…
} >ep03_g%g
Обратите внимание, при достижении первой страницы, листания назад не произойдёт, а при достижении последней (седьмой), будет выполнен переход к блоку «ep03_g1». Если вы реализуете интерактивную книгу, то в определённый момент наступает необходимость изменить сюжет, в зависимости от действий читателя:
{ ep03_g1
calc: p: 8
mode: #flip0B
play: #hush1
show: ep03_08
pick: >ep03A ► Отказаться подчиняться этому наглецу
pick: >ep03B ► Подчиниться грубой силе
info: Настало время сделать выбор!
} #loop
Теперь можно описать следующий набор блоков или перейти к другому файлу сценария, в соответствии с сюжетом книги или планом учебного материала.
Comments