Как создавать анимации в программе LECTURE (27) сборника программ ACLP

Программа сделана таким образом, что анимации, точнее программы на языке ACL, можно запускать во время показа любого слайда, нажимая клавишу [Enter]. В зависимости от типа программы она показывает все, что ей надо, на фоне слайда, а содержание показа зависит от конкретной ACL программы, которую она использует. ACL программа также определяет и способ выхода из нее. Вообще говоря, на языке ACL можно написать анимации и просто программы самых разных видов, но для тех, кто не умеет программировать на этом языке, остается единственная возможность -- использовать готовые программы, написанные теми, кто это умеет. В этой статье рассмотрены некоторые из них. Все они демонстрируют свою работу в презентации (лекции) файла 240725.zip

Немое кино типа анимированный gif. Простой вариант.

Такая программа запускается на 3-м слайде. Она показывает 10 картинок типа png одинакового размера, записанных в саму презентацию в папку (lect/1). По условию работы программы картинки нельзя записывать в папку (lect) и нужно открыть внутреннюю папку (1) и все записывать в нее. А в файл s003.pro достаточно записать только одну строку

Здесь используется одна команда ACL #pr , которая печатает входные данные программы показа, а именно, имя папки, где находятся картинки, шаблон имени файлов, отказ от музыки и числа. Числа означают начальный номер картинки (1), число картинок (10), размеры картинки в пикселах по X и Y осям (512 512), время паузы в миллисекундах (1000). Затем указан номер суперкоманды (программы), которая и выполняет всю работу. Сам код программы писать не надо, так как по номеру интерпретатор ее найдет и исполнит.

ЗАМЕЧАНИЕ: Данная программа сначала показывает только первую картинку и стоит, ждет приглашения. Для включения анимации надо еще раз нажать клавишу (Enter). Анимацию можно остановить в любой момент, если нажать клавшу (Пробел). Как работает данная программа можно почитать в описании суперкоманды 19 по ссылке [1].

Слайд-шоу по встроенной программе и внутренним файлам. Немое кино. Сложный вариант.

Такая программа запускается на 2-м слайде. Она показывает те же слайды, то есть записанные в файл презентации. Но для показа использует более сложную встроенную программу, написанную на языке Java и используемую в ACL как операция команды анимации. То есть в данном случае кода на языке ACL совсем не существует, только вызов операции в одной команде. Зато входные данные надо задавать по более сложной системе. Полное описание самой этой программы есть в интернете по ссылке [1]. Покажем как можно ее использовать для показа указанных 10 картинок Для этого надо записать два файла. Первый файл s002.pro имеет такое содержание

То есть всего две строки. При этом первая строка просто дает подсказку для пользователя как закончить работу программы. Это важно, так как режим не стандартный. А основная часть программы -- одна короткая строка с одной командой. Важно, что команда имеет аргумент, в котором указан файл s002.ssp в папке (lect). И вот в этом файле и находятся входные данные программы, то есть протокол показа слайд-шоу. Важно понимать, что этот код использует такой же протокол, как и программа ACLP-69 (vkSS). При запуске этой программы показывается ее описание и там написано как составлять структуру файла протокола. Однако там описан самый общий случай, а в данном случае нам надо использовать самый простой вариант. Он может выглядеть, например, так (это содержание файла s002.ssp)

Здесь в первой строке указан отказ от музыки, числа: 512  512  -- это размер картинок в пикселях экрана. А следующие два числа, будучи отрицательными, указывают на то, что окно анимации будет поставлено в центре экрана. В общем случае они задают смещение левого верхнего угла окна от левого верхнего угла экрана. Во второй строке указано имя файла p001.png в папке [lect], число 100 указывает время паузы длиной 1 секунду (в сантисекундах), число 1 указывает на тип перехода к следующей картинке. Всего номеров переходов может быть от 0 до 12. Остальные строки показывают на файлы других картинок, имена которых отличаются номером перед точкой.

Такой протокол легко набрать вручную, но и это не обязательно. Есть программа, которая это делает автоматически по минимальному набору данных. Все, что нужно приготовить -- это картинки в файлах, имена которых имеют номера и в остальном совпадают. Но и эту процедуру может сделать программа ACLP-34 (Index). Таким образом, приготовить анимацию самого массового типа очень просто, и в этом помогают сами программы ACLP. Выход из такой анимации реализуется по клавище [Esc]. Этот вариант самый правильный, причем не надо тыкать. Надо нажать и подожлать когда программа сработает. Анимация также может реагировать на другие клавиши, об это написано в описании программы ACLP-69.

Слайд-шоу по встроенной программе и внешним файлам. Немое кино. Самый сложный вариант.

Такая программа запускается на 5-м слайде. Это та же самая программа, что и в предыдущем разделе, но она используется как с внешним файлом протокола, так и с внешними файлами картинок. Это особенно существенно, когда картинок очень много, используется файл музыки и более сложный протокол. Раньше программа могла показывать даже картинки из файлов в интернете. Как сейчас ответить сложно, надо проверять, так как в погоне за безопасностью все время происходит отказ от каких-то возможностей, которые работали раньше. В этом случае достаточно одного файла s005.pro с таким содержанием (как пример)

Легко заметить, что содержание файла практически то же самое, только записан полный путь к файлу протокола. А содержание этого файла можно посмотреть в папке (pro/0) программы ACLP. Как это работает можно будет посмотреть на видео, которое я запишу на Ютубе.

График зависимости, которая меняется со временем.

Такая программа запускается на 6-м слайде. Иногда бывает необходимо показать график зависимости параметров какого-то процесса, которая зависит от времени. Или просто зависит от какого-то второго аргумента, который можно менять во времени. Это тоже анимация такого вот специального вида. Для такой анимации необходимо иметь числовой массив матрицы. Программа в каждый момент показывает одну строку матрицы, а номер строки меняется со временем. В файле должна быть записана сначала первая строка, потом вторая и так далее. Такая программа тоже сделана в виде суперкоманды и достаточно указать только ее номер и входные данные, так что программа записывается в файле s006.pro в две строки

ЗАМЕЧАНИЕ: Данная программа сначала показывает только первую кривую и стоит, ждет приглашения. Для включения анимации надо еще раз нажать клавишу (Enter). Анимацию можно остановить в любой момент, если нажать клавшу (Пробел). Как работает данная программа можно почитать в описании суперкоманды 19 по ссылке [1].

Произвольная программа, которая что-то показывает.

Такая программа запускается на 4-м слайде. Она показывает некий процесс, который может идти вечно по той причине, что потери энергии не учитываются. Это как бы вечный двигатель. Симулируется движение твердых шариков в замкнутом объеме. Такой процесс тоже можно записать в виде стандартной программы с параметрами, но это не сделано. Все параметры определены прямо в программе. Я использовал этот случай, чтобы показать как на языке ACL записывается такой сложный процесс. Код программы записывается относительно компактно, несмотря на всю сложность самого процесса. Содержание файла s004.pro показано ниже.

Данный пример просто показывает, что программа может показывать все, что угодно. Запускать программу, которая ничего не показывает, вроде как на докладе не имеет смысла. Запускать видео в браузере можно. Программа автоматически откроет браузер все там покажет и потом можно будет вернуться к докладу. Я такой пример сейчас не привожу, но потом возможно проверю как это работает. Можно также запускать и любые другие программы на компьютере, никаких ограничений нет.

.

[1] https://kohnvict.ucoz.ru/acl/acl27.htm
[2] https://kohnvict.ucoz.ru/acl/vkss.htm