stringtranslate.com

Линго (язык программирования)

Lingo — многословный объектно-ориентированный (ОО) язык сценариев , разработанный Джоном Х. Томпсоном для использования в Adobe Director (ранее Macromedia Director). Lingo используется для разработки настольных приложений , интерактивных киосков , CD-ROM и контента 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] Трехмерные сетки также можно создавать «на лету» с помощью Lingo. [6]

История

Lingo был изобретен Джоном Х. Томпсоном в MacroMind в 1989 году и впервые выпущен с Director 2.2. Джефф Таннер разработал и протестировал Lingo для Director 2.2 и 3.0, создал пользовательские XObjects для различных производителей медиаустройств, примеры расширения языка с использованием XFactory, включая интерфейс прикладного программирования (API) XFactory, и написал начальные руководства по использованию Lingo. Дэйв Шилдс протестировал и задокументировал Object-based 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. Проект Journeyman является ярким примером этого.

Функции

Lingo встроен в Adobe Director и может быть добавлен в качестве скриптов на объекты или на временную шкалу. Lingo — это язык объектно-ориентированного программирования (ООП), который поддерживает многословный синтаксис типа Smalltalk , точечный синтаксис ОО и наследование.

Подробный синтаксис

Когда Lingo был создан, был разработан подробный синтаксис, имитирующий разговорный язык, чтобы было легко для новых пользователей. Пользователи могли писать предложения в стиле HyperTalk, например:

 если  видимость  спрайта 5 то переходим к кадру        

В операторах go to «to» является необязательным, и в отличие от других языков программирования операторы go ссылаются на кадры в Director's Score, а не на конкретные строки кода.

Lingo изначально был также очень надежным, предоставляя генерацию объектов через понятие factory, называемое , что привело к расширяемости языка через внешние фабрики (XFactories) или XObjects. Для Director 3.13 и более поздних версий расширяемость происходила через другой тип подключаемого модуля, называемый XTRA, основанный на модели компонентных объектов Microsoft (COM).

Синтаксис точек

Хотя по-прежнему возможно использование подробного синтаксиса, текущая версия языка полностью поддерживает объектно-ориентированный точечный синтаксис, так что код больше похож на стандартные языки программирования, такие как JavaScript или C++ .

Эквивалент в новом стиле написания сценариев будет таким:

 если  спрайт ( 5 ). видимый  тогда  _movie . перейти ( _movie . кадр )

В этом формате используются элементы модели Director Object Model, представленной в Director MX 2004. Синтаксис в предыдущих версиях выглядел так:

 если  спрайт ( 5 ). видимый  , то  переходим  к кадру 

Скриптинг

В Director есть 4 типа скриптов Lingo, каждый из которых имеет определенную цель. Каждый тип скрипта может быть добавлен к определенным типам совместимых объектов.

Поведение и родительские скрипты поощряют хорошее объектно-ориентированное программирование. Сценарии фильмов не так ориентированы на ООП. Однако их все равно можно использовать для создания обработчиков черного ящика , где другие объекты могут вводить необработанные данные и получать ответы обратно, не зная о внутренней работе ящика. Использование сильных сторон и простоты использования методологии программирования Director с преимуществами ООП создает мощную и быструю среду программирования.

Наследование

Lingo поддерживает наследование объектов с помощью немного своеобразной системы: скрипт может иметь ancestorсвойство, которое ссылается на другой объект (обычно также скрипт, хотя другие объекты, такие как члены каста, также могут быть предками). Свойства и методы предка наследуются родителем. Скрипты поведения также являются своего рода предком спрайтов, к которым они прикреплены, поскольку к свойствам и методам поведения можно получить доступ по ссылке на сам спрайт. В этом случае это своего рода множественное наследование , поскольку один спрайт может иметь несколько поведений.

Расширяемость

XОбъекты

Lingo 3.0 также можно было расширять с помощью внешних фабрик (XFactories) или XObjects (позже замененных Lingo Xtras ), которые предоставляли программные расширения для Director. Например, управление внешними медиаустройствами, такими как CD-ROM и видеомагнитофоны, через Macintosh SerialPort. XObject API был открыто доступен разработчикам и производителям медиаустройств, что добавило популярности и универсальности Lingo. Macromind очень активно позиционировал XObject API как стандарт для внешних медиаустройств для совместной работы через Lingo; и его интерес как стандарта привлек большое внимание со стороны известных и растущих компаний-производителей медиапродуктов через специальную группу под названием Multimedia Association.

Экстра

Начиная с версии Director 4.0, Lingo стал расширяемым с помощью нового улучшенного класса внешнего плагина под названием Xtras. Xtras были разработаны на языке C++ с использованием Microsoft Component Object Model (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 .

Ссылки

  1. Руководство пользователя Macromedia Shockwave для Director, том 1, New Riders Pub., 01 января 1996 г.
  2. Macromedia Shockwave для директора, том 1, Hayden Books, 1996
  3. ^ Келли Харт; Митч Геллер (2008). Новые перспективы Dreamweaver CS3, всеобъемлющие. Cengage Learning. стр. 429. ISBN 1-4239-2531-9.
  4. ^ Macromedia Director 8: Создание мощных мультимедиа, Prentice Hall, 2001
  5. Внутри Macromedia Director 6 с Lingo, New Riders Pub., 01 января 1997 г.
  6. ^ ab Macromedia Director 8.5 Shockwave Studio для 3D: Обучение из первых рук, Macromedia Press, 2002
  7. ^ "Rekursiv Project - Lingo Language". 7 июня 2007 г. Архивировано из оригинала 7 июня 2007 г.

Внешние ссылки