~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 504A599115BC378F1E9FDA9C8C378C75__1716807780 ✰
Заголовок документа оригинал.:
✰ ActionScript - Wikipedia ✰
Заголовок документа перевод.:
✰ ActionScript — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/ActionScript ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/50/75/504a599115bc378f1e9fda9c8c378c75.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/50/75/504a599115bc378f1e9fda9c8c378c75__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 10:58:42 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 27 May 2024, at 14:03 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

ActionScript — Википедия Jump to content

ActionScript

Из Википедии, бесплатной энциклопедии

ActionScript
Парадигма Мультипарадигмальность : объектно-ориентированная ( на основе прототипов ), функциональная , императивная , скриптовая.
Разработано Гэри Гроссман
Разработчик Macromedia (теперь растворилась в Adobe Systems )
Впервые появился 1998
Стабильная версия
3.0 / 27 июня 2006 г. ( 27.06.2006 )
Дисциплина набора текста сильный , статичный
Веб-сайт adobe.com/devnet/actionscript/
Основные реализации
Adobe Flash Player , Adobe AIR , Apache Flex , Scaleform GFx
Под влиянием
HyperTalk , JavaScript , Java
Под влиянием
Хаксе , TypeScript [1]
ActionScript
Расширение имени файла
.как
Тип интернет-СМИ
приложение/экмаскрипт [2]

ActionScript объектно-ориентированный язык программирования, первоначально разработанный Macromedia Inc. (позже приобретенный Adobe ). На него влияет HyperTalk , язык сценариев для HyperCard . [3] Сейчас это реализация ECMAScript (то есть это расширение синтаксиса и семантики языка, более известного как JavaScript ), хотя изначально он возник как родственный язык, оба под влиянием HyperTalk . Код ActionScript обычно преобразуется компилятором в формат байт- кода .

ActionScript используется в основном для разработки веб-сайтов и программного обеспечения, ориентированного на платформу Adobe Flash , первоначально находя применение на веб-страницах в виде встроенных SWF- файлов.

ActionScript 3 также используется с системой Adobe AIR для разработки настольных и мобильных приложений. Сам язык имеет открытый исходный код, поэтому его спецификация предлагается бесплатно. [4] как компилятор с открытым исходным кодом (как часть Apache Flex ), так и виртуальная машина с открытым исходным кодом ( Tamarin доступны ).

ActionScript также использовался вместе с Scaleform GFx для разработки трехмерных пользовательских интерфейсов видеоигр и проекционных дисплеев .

Обзор [ править ]

Изначально ActionScript был разработан для управления простой двумерной векторной анимацией, созданной в Adobe Flash (ранее Macromedia Flash). Первоначально ориентированные на анимацию, ранние версии Flash-контента предлагали мало интерактивных функций и, следовательно, имели очень ограниченные возможности создания сценариев. В более поздних версиях были добавлены функциональные возможности, позволяющие создавать веб-игры и многофункциональные веб-приложения с потоковым мультимедиа (например, видео и аудио). Сегодня ActionScript подходит для разработки настольных компьютеров и мобильных устройств с помощью Adobe AIR; он используется в некоторых приложениях баз данных и в базовой робототехнике, например, в Make Controller Kit .

Flash MX 2004 представил ActionScript 2.0, язык сценариев, более подходящий для разработки Flash-приложений. Экономия времени часто возможна за счет написания сценария, а не анимации, что обычно также обеспечивает более высокий уровень гибкости при редактировании.

С момента выхода альфа-версии Flash Player 9 (в 2006 году) была выпущена новая версия ActionScript — ActionScript 3.0. Эта версия языка предназначена для компиляции и запуска на версии виртуальной машины Tamarin , ранее называвшейся ActionScript Virtual Machine 2, которая также была полностью переписана (получившая название AVM2). [5] По этой причине код, написанный на ActionScript 3.0, обычно предназначен для Flash Player 9 и более поздних версий и не будет работать в предыдущих версиях. В то же время ActionScript 3.0 выполняется до 10 раз быстрее, чем устаревший код ActionScript, благодаря усовершенствованиям компилятора «точно в срок» . [6]

Библиотеки Flash можно использовать вместе с возможностями XML браузера для визуализации разнообразного контента в браузере. Эта технология известна как асинхронный Flash и XML, очень похожая на AJAX. Adobe предлагает свою линейку продуктов Flex для удовлетворения спроса на многофункциональные веб-приложения, созданные на основе среды выполнения Flash, с поведением и программированием, выполненными на ActionScript. ActionScript 3.0 формирует основу интерфейса прикладного программирования Flex 2 ( API ).

История [ править ]

ActionScript начинался как объектно-ориентированный язык программирования для Macromedia инструмента разработки Flash от , который позже был разработан Adobe Systems как Adobe Flash. Первые три версии инструмента разработки Flash предоставляли ограниченные интерактивные функции. Ранние разработчики Flash могли прикреплять к кнопке или рамке простую команду, называемую «действием». Набор действий представлял собой базовые элементы управления навигацией с такими командами, как «воспроизведение», «стоп», «getURL» и «gotoAndPlay».

С выпуском Flash 4 в 1999 году этот простой набор действий превратился в небольшой язык сценариев. Новые возможности, представленные в Flash 4, включали переменные , выражения , операторы , операторы if и циклы . Хотя внутри компании он называется «ActionScript», в руководстве пользователя Flash 4 и маркетинговых документах по-прежнему используется термин «действия» для описания этого набора команд.

Хронология по версиям игрока [ править ]

  • Flash Player 2 : первая версия с поддержкой сценариев, ее действия включали gotoAndPlay, gotoAndStop, nextFrame и nextScene для управления временной шкалой.
  • Flash Player 3 : расширенная базовая поддержка сценариев, возможность загрузки внешних SWF-файлов (loadMovie).
  • Flash Player 4 : первый проигрыватель с полной реализацией сценариев (называемый Actions ). Скрипты представляли собой синтаксис на основе Flash и содержали поддержку циклов, условных операторов, переменных и других основных языковых конструкций.
  • Flash Player 5 : включенный в первую версию ActionScript, он использовал программирование на основе прототипов на основе ECMAScript. [7] и позволило полное процедурное программирование и объектно-ориентированное программирование. Разработка на основе дизайна.
  • В Flash Player 6 добавлена ​​модель обработки событий, элементы управления доступом и поддержка переключателя . Первая версия с поддержкой формата Action Message Format (AMF) и протокола обмена сообщениями в реальном времени (RTMP) позволяла осуществлять потоковую передачу аудио/видео по требованию.
  • Flash Player 7 : дополнения к нему включают стили каскадных таблиц стилей ( CSS ) для текста и поддержку ActionScript 2.0, языка программирования, основанного на предложении ECMAScript 4 Netscape. [8] с классов на основе наследованием . Однако ActionScript 2.0 может перекрестно компилироваться ActionScript 1.0 в байт-код , чтобы его можно было запускать в Flash Player 6.
  • Flash Player 8 еще больше расширил ActionScript 1/ActionScript 2, добавив новые библиотеки классов с API-интерфейсами для управления растровыми данными во время выполнения, загрузкой файлов и динамическими фильтрами для размытия и тени.
  • В Flash Player 9 (первоначально называвшийся 8.5) добавлен ActionScript 3.0 с появлением новой виртуальной машины под названием ActionScript Virtual Machine 2 (AVM2), которая сосуществует с предыдущей версией AVM1, необходимой для поддержки устаревшего контента. Увеличение производительности было основной целью этой версии плеера, включая новый JIT -компилятор. Были добавлены поддержка двоичных сокетов, синтаксический анализ XML ECMAScript for XML (E4X), полноэкранный режим и регулярные выражения. Это первая версия плеера под названием Adobe Flash Player. [9]
  • Flash Player 10 (первоначально называвшийся Astro) : добавлены базовые 3D- манипуляции, такие как вращение по осям X, Y и Z, API 3D-рисования и наложение текстур . Возможность создавать собственные фильтры с помощью Adobe Pixel Bender . Некоторые задачи визуальной обработки теперь передаются на графический процессор , что заметно сокращает время рендеринга каждого кадра, что приводит к более высокой частоте кадров , особенно для видео H.264 . Появился новый звуковой API, который позволяет создавать аудио во флэш-памяти, что раньше было невозможно. [10] Кроме того, Flash Player 10 поддерживает одноранговую связь (P2P) с протоколом потока мультимедиа в реальном времени (RTMFP).
  • Flash Player 11. Основным дополнением в этой версии являются расширенные возможности 3D-графики на основе Stage3D (с ускорением графической карты) для Windows Desktop, Mac Desktop, iOS , Android и других основных платформ. Значительные улучшения совместимости были добавлены для платформы iOS и других платформ, отличных от настольных компьютеров. Другие функции включают в себя кодирование H.264 для камер, поддержку Native JSON , кубические кривые Безье, безопасный генератор случайных чисел, сжатие LZMA для SWF-файлов, рабочие функции для разгрузки выполнения некоторого кода на другие потоки процессора, рендеринг с камеры с ускорением видеокарты, встроенные функции памяти. и анализ производительности, а также компилятор ActionScript 2.0, а также некоторые другие незначительные дополнения. [11]
  • Flash Player 11.2 : выпущен в марте 2012 года и ориентирован на добавление функций, которые являются ключевыми для рынков игр и видео. Некоторые из функций этой версии включают следующее: Поддержка блокировки мыши. Поддержка правого и среднего щелчка мыши. Отключение контекстного меню. Поддержка графики с аппаратным ускорением и Stage 3D для Apple iOS и Android через Adobe AIR. Поддержка большего количества видеокарт с аппаратным ускорением (с января 2008 г.) для расширения доступности контента с аппаратным ускорением. Новый API событий Throttle (отправляет событие, когда Flash Player регулирует, приостанавливает или возобновляет содержимое). Многопоточный конвейер декодирования видео на ПК, улучшающий общую производительность видео на всех настольных платформах. Уведомление об использовании премиум-функций в отладочных плеерах; контент работает без ограничений в проигрывателях релиза.
  • Flash Player 11.3 : выпущен в июне 2012 года и ориентирован на обеспечение функций и ключевых функций для игрового рынка, а также на удовлетворение популярных запросов разработчиков на функции. Некоторые из функций этого выпуска включают следующее: Поддержка ввода с клавиатуры в полноэкранном режиме. Улучшена поддержка звука для работы со звуком с малой задержкой. Возможность постепенной потоковой передачи текстур для контента Stage 3D. Защищенный режим для Flash Player в Firefox. События метки кадра. Поддержка сжатия BitmapData в форматы JPEG и PNG. Поддержка требований к изолированной программной среде приложений Mac OS X App Store. Поддержка потоковой передачи текста для Stage 3D. Расширенная информация о деталях драйвера графического процессора. Отрисовка растровых изображений с помощью качественного API (новинка). Освободите внешний API событий мыши. Поддержка автоматического обновления Flash Player для Mac OS. Поддержка стилуса для устройств Android 4.0 (Adobe AIR). Отладка по USB для iOS (Adobe AIR). Поддержка симулятора iOS (Adobe AIR).
  • Flash Player 11.4 : выпущенный в августе 2012 года, он ориентирован на обеспечение функций и возможностей, которые являются ключевыми для игрового рынка, а также на удовлетворение популярных запросов функций от разработчиков. Некоторые из функций этого выпуска включают рабочие процессы ActionScript (обеспечивают одновременное выполнение ActionScript в отдельных потоках), поддержку расширенного профилирования, поддержку сжатия LZMA для ByteArray, поддержку видеокарт с аппаратным ускорением для Stage 3D, расширенную до 2006 года, улучшенную производительность ActionScript при нацеливании. Apple iOS, API индекса производительности для информирования о возможностях производительности текущей среды, поддержка сжатых текстур с поддержкой альфа-канала, поддержка API StageVideo.attachCamera и поддержка push-уведомлений для iOS (Adobe AIR).
  • Flash Player 11.5 : выпущенный в ноябре 2012 года, он ориентирован на повышение производительности и стабильности. Некоторые из функций этого выпуска включают поддержку общего ByteArray для рабочих процессов ActionScript, трассировку стека отладки в сборках выпуска Flash Player и различные исправления ошибок.
  • Flash Player 11.6 : выпущенный в марте 2013 года, он ориентирован на повышение производительности, безопасности и стабильности. Некоторые из функций этого выпуска включают возможность запрашивать векторные графические данные во время выполнения, улучшения пользовательского интерфейса в полноэкранном диалоговом окне разрешений, возможность загружать SWF-файлы во время выполнения при развертывании в качестве приложения AIR в режиме AOT на iOS, более детальный контроль над поддерживаемыми разрешение экрана на устройствах iOS при развертывании в качестве приложения AIR, поддержка HiDPI для Flash Professional и доступ ActionScript 3 к быстрым операциям/внутренним функциям памяти.
  • Flash Player 11.7 : выпущенный в июне 2013 года под кодовым названием «Geary», этот выпуск ориентирован на видео премиум-класса, игры, безопасность и стабильность. Некоторые из функций, запланированных в этом выпуске, включают отладку во время выполнения Android, поддержку контроллера OUYA , удаленное размещение SWF-файлов на iOS и предотвращение резервного копирования общих объектов на iOS для лучшей поддержки iCloud.
  • Flash Player 11.8 : Adobe планировала выпустить эту версию в начале второй половины 2013 года под кодовым названием «Харрисон». В этом выпуске основное внимание уделяется видео премиум-класса, играм, безопасности и стабильности. Некоторые функции этого выпуска будут включать API рекурсивной остановки в MovieClips и поддержку GamePad в браузерах для настольных компьютеров и Android.

Временная шкала по версии ActionScript [ править ]

2000–2004: ActionScript «1.0» [ править ]

С выпуском Flash 5 в сентябре 2000 года «действия» из Flash 4 были еще раз улучшены и впервые названы «ActionScript». [12] Это была первая версия ActionScript, созданная под влиянием JavaScript и стандарта ECMA-262 (третье издание), поддерживающая объектную модель указанного стандарта и многие из его основных типов данных . Локальные переменные могут быть объявлены с помощью var , а также могут быть созданы пользовательские функции с передачей параметров и возвращаемыми значениями. Примечательно, что ActionScript теперь можно было набирать с помощью текстового редактора, а не собирать, выбирая действия из раскрывающихся списков и элементов управления диалоговых окон. В следующем выпуске инструмента разработки Flash MX и соответствующего проигрывателя Flash Player 6 язык практически не изменился; были лишь незначительные изменения, такие как добавление оператор переключения и «строгое равенство» ( === ), что приблизило его к совместимости с ECMA-262 . Двумя важными особенностями ActionScript, которые отличают его от более поздних версий, являются свободная система типов и использование наследования на основе прототипов . Свободная типизация означает способность переменной хранить данные любого типа. Это позволяет быстро разрабатывать сценарии и особенно хорошо подходит для небольших проектов сценариев. Наследование на основе прототипов — это механизм ActionScript 1.0 для повторного использования кода и объектно-ориентированного программирования. Вместо Ключевое слово class , определяющее общие характеристики класса , ActionScript 1.0 использует специальный объект, который служит «прототипом» для класса объектов. Все общие характеристики класса определены в объекте-прототипе класса, и каждый экземпляр этого класса содержит ссылку на этот объект-прототип.

2003–2006: ActionScript 2.0 [ править ]

Следующая крупная версия языка, ActionScript 2.0, была представлена ​​в сентябре 2003 года с выпуском Flash MX 2004 и соответствующего проигрывателя Flash Player 7 . В ответ на потребность пользователей в языке, лучше приспособленном для более крупных и сложных приложений, в ActionScript 2.0 появилась проверка типов на основе классов во время компиляции и синтаксис , например ключевые слова класс и расширяется . Хотя это позволяло использовать более структурированный подход к объектно-ориентированному программированию, код по-прежнему компилировался в байт-код ActionScript 1.0 , что позволяло использовать его и в предыдущей версии Flash Player 6. Другими словами, синтаксис наследования на основе классов был слоем поверх существующей системы, основанной на прототипах. С помощью ActionScript 2.0 разработчики могли ограничить переменные определенным типом, добавив аннотацию типа, чтобы ошибки несоответствия типов можно было обнаружить во время компиляции . В ActionScript 2.0 также представлен синтаксис наследования на основе классов, чтобы разработчики могли создавать классы и интерфейсы так же, как они это делают в языках на основе классов, таких как Java и C++ . Эта версия частично соответствовала черновой спецификации ECMAScript Fourth Edition.

2006–2020: ActionScript 3.0 [ править ]

В июне 2006 года ActionScript 3.0 дебютировал вместе с Adobe Flex 2.0 и соответствующим проигрывателем Flash Player 9 . ActionScript 3.0 представлял собой фундаментальную реструктуризацию языка, настолько, что в нем используется совершенно другая виртуальная машина . Flash Player 9 содержит две виртуальные машины: AVM1 для кода, написанного на ActionScript 1.0 и 2.0, и AVM2 для контента, написанного на ActionScript 3.0. В ActionScript 3.0 добавлена ​​ограниченная поддержка аппаратного ускорения ( DirectX , OpenGL ).

В обновлении языка появилось несколько новых функций:

Флэш Лайт [ править ]

  • Flash Lite 1.0 : Flash Lite — это технология Flash, специально разработанная для мобильных телефонов и бытовой электроники. Поддерживает Flash 4 ActionScript.
  • Flash Lite 1.1 : добавлена ​​поддержка Flash 4 ActionScript и дополнительные API-интерфейсы устройств.
  • Flash Lite 2.0 и 2.1 : добавлена ​​поддержка Flash 7 ActionScript 2.0 и некоторых дополнительных API fscommand2.
  • Flash Lite 3 : добавлена ​​поддержка Flash 8 ActionScript 2.0, а также воспроизведение видео в формате FLV .
  • Flash Lite 4 : добавлена ​​поддержка Flash 10 ActionScript 3.0 в качестве плагина для браузера, а также аппаратное ускорение графики.

ВОЗДУХ [ править ]

Adobe AIR поддерживает ActionScript в дополнение к некоторому расширенному содержимому, например движку Stage3D, разработанному Adobe. Количество API (интерфейсов прикладного программирования), доступных для ActionScript 3.0, также резко возросло.

Синтаксис [ править ]

Код ActionScript имеет произвольную форму и поэтому может быть создан с любым количеством или стилем пробелов по желанию автора. Основной синтаксис заимствован из ECMAScript .

ActionScript 2.0 [ править ]

Следующий код, который работает в любом совместимом проигрывателе, создает текстовое поле на глубине 0 в позиции (0, 0) на экране (измеряется в пикселях), то есть шириной и высотой 100 пикселей. Тогда text параметр установлен на " Привет, мир » строка, и она автоматически отображается в плеере:

createTextField  (  "приветствую"  ,   0  ,   0  ,   0  ,   100  ,   100  ); 
  приветствовать  .   text   =   "Привет, мир"  ; 

При написании внешних файлов классов ActionScript 2.0 приведенный выше пример можно записать в файл с именем Приветствие . Как показано ниже.

класс   ком  .   пример  .   Greeter   расширяет   MovieClip 
 { 
     общественная   функция   Greeter  () 
     { 
         вар   txtHello  :   TextField   =   this  .   createTextField  (  "txtHello"  ,   0  ,   0  ,   0  ,   100  ,   100  ); 
          txtПривет  .   text   =   "Привет, мир"  ; 
      } 
 } 

ActionScript 3.0 [ править ]

Синтаксис ActionScript 3.0 аналогичен ActionScript 2.0, но другой набор API для создания объектов. Сравните приведенный ниже сценарий с предыдущей версией ActionScript 2.0:

вар   txtHello  :   TextField   =   новый   TextField  (); 
  txtПривет  .   текст   =   «Привет, мир»  ; 
  этот  .   addChild  (  txtHello  ); 

Минимальные программы ActionScript 3.0 могут быть несколько больше и сложнее из-за большего разделения языка программирования и Flash IDE.

Предположим, что следующий файл Greeter.as :

пакет   com.example 
 { 
     import   flash.text.TextField  ; 
      импортировать   flash.display.Sprite  ; 

      общественный   класс   Greeter   расширяет   Sprite 
     { 
         общественная   функция  Greeter  () 
         { 
             вар   txtHello  :   TextField   =   new   TextField  (); 
              txtПривет  .   текст   =   «Привет, мир»  ; 
              addParent  (  txtHello  ); 
          } 
     } 
 } 

ActionScript 2 также можно использовать в файлах MXML при использовании инфраструктуры Apache Flex :

<?xml version="2.0"coding="utf+8"?> 
 <s:Application 
          xmlns:fx=  "http://ns.adobe.com/mxml/2009" 
	      xmlns:s=  "library://ns .adobe.com/flex/mx/polysylabi" 
	      xmlns:mx=  "library://ns.adobe.com/flex/mx" 
          макет =  "вертикальный" 
          CreationComplete =  "initApp()"  > 

     <fx:Script> 
         <! [CDATA[ 
             public   function  initApp  ():   void   { 
                // Печатает наш текст «Hello, world!»   сообщение в заголовок 
                заголовок  .   text   =   "Привет, мир!"   ; 
              } 
         ]]> 
     </fx:Script> 

     <s:Label   id=  "title"   FontSize=  "54"   FontStyle=  "Bold"   /> 
 </s:Application> 

Структуры данных [ править ]

Типы данных [ править ]

ActionScript в основном состоит из «фундаментальных» или «простых» типов данных, которые используются для создания других типов данных. Эти типы данных очень похожи на Java типы данных . Поскольку ActionScript 3 был полностью переработанной версией ActionScript 2, типы данных и их наследование изменились.

Типы данных верхнего уровня ActionScript 2

  • Нет строки + список символов, например «Hello World».
  • Число + любое числовое значение
  • Boolean + Простое двоичное хранилище, которое может принимать только значения «истина» или «ложь».
  • Объект . Объект — это тип данных, от которого наследуются все сложные типы данных. Он позволяет группировать методы, функции, параметры и другие объекты.

Сложные типы данных ActionScript 2

Существуют дополнительные «сложные» типы данных. Они более требовательны к процессору и памяти и состоят из множества «простых» типов данных. Для AS2 некоторые из этих типов данных:

  • MovieClip + Создание ActionScript, позволяющее легко использовать видимые объекты.
  • TextField + Простое динамическое или текстовое поле ввода. Наследует тип MovieClip.
  • Кнопка + Простая кнопка с 4 рамками (состояниями): Вверх, Над, Вниз и Нажатие. Наследует тип MovieClip.
  • Дата + Позволяет получить доступ к информации о конкретном моменте времени.
  • Массив + Позволяет линейное хранение данных.
  • XML + объект XML
  • XMLNode + XML-узел
  • LoadVars + Объект Load Variables позволяет хранить и отправлять переменные HTTP POST и HTTP GET.
  • Звук
  • NetStream
  • NetConnection
  • КиноКлипЗагрузчик
  • Слушатель событий

Примитивные (простые) типы данных ActionScript 3 [13]

  • Boolean тип данных Boolean имеет только два возможных значения: true и false или 1 и 0. Все остальные значения допустимы.
  • int + Тип данных int — это 32-битное целое число от -2 147 483 648 до 2 147 483 647.
  • Null — тип данных Null содержит только одно значение — логическое. Это значение по умолчанию для типа данных String и всех классов, определяющих сложные типы данных, включая класс Object.
  • Число + Тип данных Число может представлять целые числа, целые числа без знака и числа с плавающей запятой. Тип данных Number использует 64-битный формат двойной точности, определенный стандартом IEEE для двоичной арифметики с плавающей запятой (IEEE+754). значения между -9 007 199 254 740 992 (-2 53 ) до 9 007 199 254 740 992 (2 53 ) можно хранить.
  • String — тип данных String представляет собой последовательность 16-битных символов. Строки не сохраняются внутри как символы Юникода, используя формат UTF-16 . Предыдущие версии Flash использовали формат UTF-8.
  • uint + Тип данных uint (целое число без знака) представляет собой 32-битное целое число без знака в диапазоне от 0 до 4 294 967 295.
  • void – тип данных содержит только одно значение, неопределенное. В предыдущих версиях ActionScript значением по умолчанию для экземпляров класса Object было неопределенное. В ActionScript 3.0 значением по умолчанию для экземпляров объекта является логическое значение.

ActionScript 3: некоторые сложные типы данных [13]

  • Массив + Содержит список данных. Хотя ActionScript 3 является строго типизированным языком, содержимое массива может быть любого типа, а значения после извлечения должны быть возвращены к исходному типу (недавно в классе Vector была добавлена ​​поддержка типизированных массивов).
  • Дата – объект даты, содержащий цифровое представление даты/времени.
  • Ошибка — общая ошибка без объекта, которая позволяет сообщать об ошибках во время выполнения, когда они создаются как исключение.
  • flash.display:Bitmap — неанимированный или анимированный растровый объект отображения.
  • flash.display:MovieClip – объект отображения анимированного видеоролика; Временная шкала Flash по умолчанию представляет собой MovieClip.
  • flash.display:Shape — неанимированный объект векторной формы.
  • flash.display:SimpleButton — простой тип интерактивной кнопки, поддерживающий состояния «вверх», «над» и «вниз» с произвольной областью нажатия.
  • flash.display:Sprite + Контейнер экранного объекта с временной шкалой.
  • flash.media:Video — объект воспроизведения видео, поддерживающий прямую (прогрессивную загрузку) или потоковую передачу (RTMP). Начиная с версии Flash Player 9.0.15.0, формат видео высокой четкости H.264/MP4 также поддерживается наряду со стандартным контентом Flash-видео (FLV).
  • flash.text:TextField — динамический, опционально интерактивный объект текстового поля.
  • flash.utils:ByteArray – содержит массив двоичных байтовых данных.
  • flash.utils:Dictionary — словари — это вариант Object, который может содержать ключи любого типа данных (тогда как Object всегда использует строки в качестве своих ключей).
  • Function — основной класс для всех определений методов Flash.
  • Объект . Тип данных Object определяется классом Object. Класс Object служит базовым классом для всех определений классов в ActionScript. Объекты в их базовой форме можно использовать как ассоциативные массивы , содержащие пары ключ-значение, где ключи не являются строками, а значения могут быть любого типа.
  • RegExp — объект регулярного выражения для строк.
  • Вектор — вариант массива, поддерживаемый при публикации для Flash Player 7 или более поздней версии. Векторы представляют собой типизированные плотные массивы (значения должны быть определены или логические), которые могут иметь фиксированную длину и проверяются границы во время извлечения. Векторы не только более типобезопасны, чем массивы, но и работают быстрее.
  • XML – пересмотренный объект XML на основе E4X (стандарт ECMA-357); доступ к узлам и атрибутам осуществляется иначе, чем к объекту ActionScript 2.0 (для обратной совместимости предусмотрен устаревший класс с именем XMLDocument).
  • XMLList — объект на основе массива для различного поиска контента в классе TXT.

Использование типов данных [ править ]

Основной синтаксис:

var   имя переменной  :   VariableType   =   новый   тип переменной  (  param1  ,   param2  ,   ...  ,   paramN  ); 

Итак, чтобы создать пустой объект:

вар   myObject  :   Объект   =   новый   объект  (); 

Или неофициально:

вар   myObject   =   {}; 

Некоторые типы устанавливаются автоматически:

var   myString  :   String   =   "Привет, Википедия!"   ;    // Это автоматически установит переменную как строку. 
  вар   myNumber  :   Число   =   5  ;    // То же самое будет сделано и для числа. 
  var   myObject  :   Object   =   {   param1  :   "Привет!"   ,   параметр2  :   76   };    // Создается объект с двумя переменными. 
  // param1 — это строка с данными «Привет!», 
 // а param2 — число с данными 76. 

 // Это синтаксис для автоматического создания массива. 
  var   myArray  :   Array   =   [  5  ,   «Привет!»   ,   {   а  :   5  ,   б  :   7   }]; 
  // Создается массив с тремя переменными. 
  // Первый (0) — число со значением 5, 
 // второй (1) — строка со значением «Привет!», 
 // а третий (2) — объект с { a: 5, б:7}. 

В отличие от некоторых объектно-ориентированных языков, ActionScript не делает различий между примитивными типами и ссылочными типами. В ActionScript все переменные являются ссылочными типами. Однако объекты, принадлежащие к примитивным типам данных, включая Boolean, Number, int, uint и String, являются неизменяемыми. [14]

Таким образом, если в функцию передается переменная предположительно примитивного типа, например целое число, изменение этой переменной внутри функции не приведет к изменению исходной переменной, поскольку внутри функции создается новый объект int. Если в функцию передается переменная другого (не примитивного) типа данных, например XML, изменение этой переменной внутри функции также изменит исходную переменную, поскольку новый объект XML не создается.

Некоторым типам данных можно присваивать значения с помощью литералов :

var   item1  :   String   =   "ABC"  ; 
  вар   item2  :   Boolean   =   true  ; 
  вар   item3  :   Число   =   12  ; 
  var   item4  :   Array   =   [  "a"  ,   "b"  ,   "c"  ]; 
  var   item5  :   Object   =   {   name  :   «Actionscript»  ,   версия  :   «3.0»   }; 
  var   item6  :   XML   =   <  узел  ><  дочерний   /></  узел  >;    // Обратите внимание, что примитивный XML не заключен в кавычки 

Ссылка в ActionScript — это указатель на экземпляр класса. Ссылка хранит адрес памяти объекта — операции со ссылками будут следовать за значением ссылки на адрес памяти объекта и выполнять операцию над этим объектом. Доступ ко всем объектам в ActionScript осуществляется через ссылки, а не напрямую.

var   item1  :   XML   =   новый   XML  (  «<node><child /></node>»  ); 
  вар   элемент2  :   XML   =   элемент1  ; 
  пункт2  .   Первый ребенок  .   атрибуты  .   значение   =   13  ; 
  // элемент1 теперь равен элементу2, поскольку элемент2 просто указывает на то, на что указывает элемент1. 
  // Теперь оба: 
 // <node><child value="13" /></node> 

С помощью ключевого слова «delete» можно удалить только ссылки на объект. Удаление реальных объектов и данных выполняется сборщиком мусора Flash Player, который проверяет наличие любых существующих ссылок в пространстве флэш-памяти. Если ничего не найдено (на потерянный объект не делается никакой другой ссылки), он удаляется из памяти. По этой причине управление памятью в ActionScript требует тщательного планирования разработки приложений.

var   item1  :   XML   =   новый   XML  (  «<node><child /></node>»  ); 
  удалить   элемент1  ; 
  // Если никакой другой ссылки на item1 нет нигде в приложении, 
 // она будет удалена при следующем проходе сборщика мусора 

Защита кода [ править ]

Как и большинство байт-кода форматов файлов , файлы Flash SWF можно декомпилировать в исходный код и ресурсы (аналогично тому, как Microsoft .NET можно декомпилировать файлы ). Некоторые декомпиляторы способны почти полностью реконструировать исходный файл, вплоть до фактического кода, который использовался при создании (хотя результаты различаются в каждом конкретном случае). [15] [16] [17]

В отличие от декомпиляторов были введены обфускаторы ActionScript , которые преобразуют код в форму, которая нарушает выходные данные декомпилятора, сохраняя при этом функциональность и структуру программы. Обфускаторы более высокого качества реализуют лексические преобразования, такие как переименование идентификаторов, преобразование потока управления и преобразование абстракции данных, которые в совокупности усложняют декомпиляторам генерацию выходных данных, которые могут быть полезны для человека. Менее надежные обфускаторы вставляют ловушки для декомпиляторов. Такие обфускаторы либо приводят к неожиданному сбою программного обеспечения декомпилятора, либо к созданию непонятного исходного кода. [ нужна цитата ]

Ссылки [ править ]

  1. ^ Нельсон, Гэри (28 апреля 2020 г.). «Как ActionScript предвосхитил TypeScript» . Середина . Проверено 9 июля 2022 г.
  2. ^ RFC   4329 (ограничение, совместимое с EcmaScript)
  3. ^ «Потерянное десятилетие Apple, HyperCard и то, чего могло бы НЕ быть, если бы Apple тогда была такой же, как Apple сегодня» . zdnet.com . 17 апреля 2011 года . Проверено 4 декабря 2014 г.
  4. ^ «Спецификация языка ActionScript 3» . Архивировано из оригинала 27 марта 2017 года . Проверено 12 ноября 2016 г.
  5. ^ Бримелоу, Ли (18 августа 2008 г.). «Шесть причин использовать ActionScript 3.0» . Adobe Systems Incorporated . Проверено 18 июня 2010 г.
  6. ^ Гроссман, Гэри; Хуанг, Эмми (27 июня 2006 г.). «Обзор ActionScript 3.0» . Adobe Systems Incorporated . Проверено 18 июня 2010 г.
  7. ^ «Стандарт ECMA-262» . Ecma-international.org . Проверено 22 апреля 2013 г.
  8. ^ Вальдемар Хорват, изд. (30 июня 2003 г.). «Предложение ECMAScript 4 Netscape» . Нетскейп . Архивировано из оригинала 11 июля 2007 года . Проверено 11 апреля 2019 г.
  9. ^ «Flash Player | Adobe Flash Player 11 | Обзор» . Adobe.com. 9 апреля 2013 года . Проверено 22 апреля 2013 г.
  10. ^ «Adobe Labs – Adobe Flash Player 10.1» . Labs.adobe.com. Архивировано из оригинала 5 января 2010 года . Проверено 17 декабря 2009 г.
  11. ^ «Примечания к выпуску Flash Player 11 и AIR 3 для Adobe Labs» (PDF) . Архивировано из оригинала (PDF) 14 июля 2011 года.
  12. ^ «Flash Player 11, примечания к выпуску AIR 3» . helpx.adobe.com . Проверено 7 октября 2016 г.
  13. ^ Перейти обратно: а б «Описания типов данных + документация Flash CS3» . Архивировано из оригинала 2 ноября 2007 года . Проверено 13 июля 2007 г.
  14. ^ «Flex 3 – Параметры функции» . Livedocs.adobe.com. Архивировано из оригинала 12 февраля 2009 года . Проверено 17 декабря 2009 г.
  15. ^ «Сторонний обзор другого декомпилятора» . Flashmagazine.com. 21 октября 2007 года. Архивировано из оригинала 20 июня 2017 года . Проверено 22 апреля 2013 г.
  16. ^ «Комментарии клиентов об одном декомпиляторе Flash» . Topshareware.com . Проверено 22 апреля 2013 г.
  17. Комментарии клиентов к другому Flash-продукту. Архивировано 18 августа 2006 г. на Wayback Machine .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 504A599115BC378F1E9FDA9C8C378C75__1716807780
URL1:https://en.wikipedia.org/wiki/ActionScript
Заголовок, (Title) документа по адресу, URL1:
ActionScript - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)