Линго (язык программирования)
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2016 г. ) |
Lingo — это многословный объектно-ориентированный (OO) язык сценариев, разработанный Джоном Х. Томпсоном для использования в Adobe Director (ранее Macromedia Director). Lingo используется для разработки прикладного программного обеспечения для настольных компьютеров , интерактивных киосков , компакт-дисков и Adobe Shockwave . контента [1] [2]
Lingo — основной язык программирования на платформе Adobe Shockwave, которая доминировала на рынке интерактивных мультимедийных продуктов в 1990-е годы. [3] различные графические приключенческие игры В течение 1990-х годов с помощью Lingo были разработаны , в том числе The Journeyman Project , Total Distortion , Mia's Language Adventure , Mia's Science Adventure и серия Didi & Ditto . Сотни бесплатных онлайн-видеоигр были разработаны с использованием Lingo и опубликованы на таких сайтах, как Miniclip и Shockwave.com.
Lingo можно использовать для создания пользовательских интерфейсов, для управления растровой , векторной и трехмерной компьютерной графикой , а также для других задач обработки данных. [4] [5] Lingo поддерживает специализированный синтаксис для обработки изображений и манипулирования трехмерными объектами. [6] 3D-сетки также можно создавать «на лету» с помощью Lingo. [6]
История
[ редактировать ]Lingo был изобретен Джоном Х. Томпсоном из MacroMind в 1989 году и впервые выпущен в версии Director 2.2. Джефф Таннер разработал и протестировал Lingo для Director 2.2 и 3.0, создал специальные XObjects для различных производителей мультимедийных устройств, примеры расширения языка с использованием XFactory, включая интерфейс прикладного программирования (API) XFactory, и написал начальные руководства по использованию Lingo. Дэйв Шилдс протестировал и задокументировал объектно-ориентированный жаргон для Director 3.13 и 4.0. Он запускал сценарии сборки для создания еженедельных выпусков для тестирования, создал базу знаний Macromedia KnowledgeBase, создал примеры написания плагинов Lingo XTRA на C++ и собрал диски Golden Master Macromedia Director, которые были отправлены в дубликатор.
Lingo был быстро принят растущим мультимедийным сообществом в 1990-х годах и стал уже популярным продуктом Director. Первоначально около 90% пользователей использовали только 10% функций Lingo; прежде всего go to the frame
мультимедийными авторами учебных пособий и презентаций. [ нужна ссылка ] Однако 10% пользователей были разработчиками игр. [ нужна ссылка ] которые проявили более широкий интерес к остальным 90% его возможностей, включая собственные расширения функций, создав свои собственные XFactories/XObjects. Проект «Подмастерье» является ярким примером этого.
Функции
[ редактировать ]Lingo встроен в Adobe Director и может быть добавлен в виде сценариев к объектам или на временную шкалу. Lingo — это язык объектно-ориентированного программирования (ООП), поддерживающий подробный синтаксис типа Smalltalk , объектно-ориентированный точечный синтаксис и наследование.
Подробный синтаксис
[ редактировать ]Когда был создан Lingo, был разработан подробный синтаксис, имитирующий разговорную речь, поэтому он был бы удобен для новых пользователей. Пользователи могли писать предложения, подобные HyperTalk, например:
if the visibility of sprite 5 then go to the frame
В операторах перехода «to» не является обязательным, и, в отличие от других языков программирования, . в партитуре режиссера используются опорные кадры операторов перехода, а не конкретные строки кода
Lingo также изначально был очень надежным, обеспечивая генерацию объектов с помощью понятия, называемого factory
, что привело к расширению языка с помощью внешних фабрик (XFactories) или XObjects. В версии Director 3.13 и более поздних версиях расширяемость осуществлялась с помощью подключаемого модуля другого типа, называемого XTRA, на основе объектной модели компонентов Microsoft (COM).
Синтаксис точки
[ редактировать ]Хотя по-прежнему можно использовать подробный синтаксис, текущая версия языка полностью поддерживает объектно-точечный синтаксис, так что код больше похож на стандартные языки программирования, такие как JavaScript или C++ .
Эквивалентом в новом стиле сценариев будет:
if sprite(5).visible then _movie.go(_movie.frame)
В этом формате используются элементы объектной модели Director, представленные в Director MX 2004. Синтаксис в предыдущих версиях выглядел следующим образом:
if sprite(5).visible then go the frame
Сценарии
[ редактировать ]В Director есть 4 типа скриптов Lingo, каждый из которых имеет определенную цель. Каждый тип сценария может быть добавлен к определенным типам совместимых объектов.
- Скрипты приведения работают только со своим участником, с ними можно использовать не все события.
- Скрипты поведения прикрепляются к спрайту или вставляются в кадр. Поведение спрайта часто используется для управления свойствами и движением спрайта. Поведение кадров можно использовать для создания паузы или задержки в определенном кадре партитуры. Поведения упрощают объектно-ориентированное программирование, поскольку вы можете напрямую видеть связь между программированием и элементом, к которому они привязаны. Они также могут управлять другими спрайтами или взаимодействовать с ними, что делает их настоящим объектом.
- Сценарии фильмов не прикреплены к спрайтам и не могут быть созданы как объекты. Они доступны во всей программе (фильме) и особенно полезны для хранения глобальных обработчиков и инициализации глобальных переменных в начале или в конце фильма.
- Родительские сценарии используются для рождения (создания экземпляров) объекта в переменной с помощью новой команды. Эти объекты могут удаленно управлять спрайтами и другими медиафайлами, не привязываясь к какому-либо одному спрайту, могут использоваться для управления данными или другими неотображаемыми элементами и полезны для процедур рекурсии, таких как поиск пути. Родительский сценарий можно использовать для создания или уничтожения объекта в любое время, освобождая его от ограничений оценки, которой ограничено Поведение.
Поведение и родительские сценарии способствуют хорошему объектно-ориентированному программированию. Сценарии фильмов не так ориентированы на ООП. Однако их по-прежнему можно использовать для создания обработчиков черного ящика , где другие объекты могут вводить необработанные данные и получать ответы обратно, не зная внутренней работы ящика. Использование сильных сторон и простоты использования методологии программирования Director, а также преимуществ ООП позволяет создать мощную и быструю среду программирования.
Наследование
[ редактировать ] объектов Lingo поддерживает наследование с помощью немного своеобразной системы: сценарий может иметь ancestor
свойство, которое ссылается на другой объект (обычно также скрипт, хотя другие объекты, такие как члены приведения, также могут быть предками). Свойства и методы предка наследуются родителем. Скрипты поведения также являются своего рода предками спрайтов, к которым они прикреплены, поскольку к свойствам и методам поведения можно получить доступ по ссылке на сам спрайт. В данном случае это своего рода множественное наследование , так как один спрайт может иметь несколько вариантов поведения.
Расширяемость
[ редактировать ]XОбъекты
[ редактировать ]Lingo 3.0 также можно было расширять через внешние фабрики (XFactories) или XObjects (позже замененные на Lingo Xtras ), которые обеспечивали программные расширения для Director. Например, управление внешними мультимедийными устройствами, такими как проигрыватели компакт-дисков и видеокассеты, через последовательный порт Macintosh. XObject API был открыт для разработчиков и производителей мультимедийных устройств, что повышало популярность и универсальность Lingo. Macromind очень активно позиционировал XObject API как стандарт для внешних мультимедийных устройств для совместной работы через Lingo; и его интерес как стандарта достиг широкого участия со стороны известных и развивающихся компаний, производящих медиа-продукты, через специальную группу под названием Мультимедийная Ассоциация.
Экстрас
[ редактировать ]Начиная с версии Director 4.0, Lingo можно было расширять с помощью нового улучшенного класса внешнего плагина под названием Xtras. Xtras были разработаны на C++ Microsoft с использованием объектной модели компонентов (COM). Стандартизация с помощью COM помогла разработчикам создать рынок таких плагинов.
Визуальный жаргон
[ редактировать ]Imaging Lingo был представлен в Director 8.0 и позволил разработчикам писать высокопроизводительные команды манипулирования изображениями, используя простой синтаксис. Есть некоторое сходство с функциями графических приложений (например, Photoshop ), которые упрощают создание динамических визуальных эффектов на основе кода. Манипулирование изображениями также было добавлено в ActionScript 3.0 с помощью класса BitmapData. Поскольку это включало более сложные команды, Director также был обновлен, чтобы обеспечить преобразование между объектом BitmapData и его собственными объектами Image.
3D
[ редактировать ]В Director 8.5 появился движок DirectX 3D, для которого можно было писать сценарии с помощью Lingo. Lingo был существенно обновлен для поддержки новых 3D-объектов и теперь включает полнофункциональный набор 3D-команд. Также был создан Xtra, позволяющий использовать движок Havok 3D Physics, а затем и движок AGEIA PhysX , в Director 11.
Другие языки
[ редактировать ]Эти другие языки, возможно, не так известны, как язык Macromedia. Однако в Великобритании сохраняется юридическая аномалия: торговая марка слова «Lingo» принадлежит Linn Smart Computing .
- Язык Lingo был выпущен для разработки программного обеспечения под Windows. Эта версия была разработана как компилируемый язык программирования высокого уровня.
- Язык программирования на основе Smalltalk был разработан для процессора Rekursiv, разработанного компанией Linn Smart Computing в Шотландии , Великобритания . Этот язык получил название Lingo [7] и имеет большое значение, поскольку его создатели успешно получили товарный знак в Великобритании.
- LINGO — это также язык программирования для решения задач линейной, нелинейной и целочисленной оптимизации, впервые разработанный в 1988 году компанией LINDO Systems Inc. Этот язык все еще находится в разработке.
Ссылки
[ редактировать ]- ^ Руководство пользователя Macromedia Shockwave для директора, Том 1 , New Riders Pub., 1 января 1996 г.
- ^ Macromedia Shockwave для директора, Том 1 , Hayden Books, 1996
- ^ Келли Харт; Митч Геллер (2008). Новые перспективы Dreamweaver CS3, комплексный . Cengage Обучение. п. 429. ИСБН 1-4239-2531-9 .
- ^ Macromedia Director 8: Создание мощных мультимедиа , Прентис Холл, 2001 г.
- ↑ Inside Macromedia Director 6 с Lingo , New Riders Pub., 1 января 1997 г.
- ^ Перейти обратно: а б Macromedia Director 8.5 Shockwave Studio для 3D: обучение из источника , Macromedia Press, 2002 г.
- ^ «Проект Рекурсив — Язык Линго» . 7 июня 2007 г. Архивировано из оригинала 7 июня 2007 г.
Внешние ссылки
[ редактировать ]- Официальный сайт Adobe.com, Центр поддержки директоров.