Редактирование и импорт SWF-файлов | Animate
На этой странице
Animate может импортировать формат файла SWF. Однако файлы SWF обработаны и многие типы данных внутри SWF-файла невозможно повторно импортировать в Animate.
Формат SWF
Формат SWF представляет собой специальный сжатый формат, предназначенный для файлов небольшого размера с возможностью масштабирования. Для сохранения малого размера файла несколько элементов из первоначального формата Animate сжимаются в такие данные, что Animate не может их повторно импортировать.
Если при создании SWF-файла выбран параметр «защитить от импорта», Animate не позволит повторно импортировать файл. Попытка импорта защищенного SWF приводит к появлению сообщения об ошибке.
Мы рекомендуем сохранить документ в обычном формате Animate FLA перед выполнением экспорта в формат Flash Player SWF или любой другой формат файла. Это позволит позднее открывать и редактировать исходный файл.
Открытие и импорт
Открытие файла SWF («Файл» > «Открыть») открывает клип в режиме тестирования клипов.
Импорт файла SWF («Файл» > «Импорт») приводит к следующим результатам:
- Звуки не импортируются.
- Графические символы, содержащие анимацию, импортируются с каждым ключевым кадром анимации в новом ключевом кадре. Содержимое каждого кадра в исходной анимации преобразуются в новый графический символ, по одному для каждого кадра в исходном символе.
- Весь макет теряется. Импорт добавляет ключевые кадры к слою, который был активен при выборе команды меню «Файл» > «Импорт», но исходная структура макета и имена слоев не сохраняются.
- Временные шкалы клипа не импортируются. Отдельные элементы из первого кадра временной шкалы клипа импортируются, но преобразуются в графические символы. Все остальные кадры клипа, теряются.
- Кнопки теперь рассматриваются как клипы. Графика в состоянии ключевого кадра «Не нажата» преобразуется в графические символы. Все остальное теряется.
- Анимация не импортируется.
- Пути движения не импортируются. Однако изображения из каждого промежуточного кадра траектории движения импортируются как отдельные изображения в отдельных ключевых кадрах.
- Импортированные растровые изображения, используемые в клипе, успешно импортируются, но их исходные библиотечные имена не сохраняются. Они переименовываются в «Bitmap 1», «Bitmap 2» и т. д.
Дополнительная информация
Существуют инструменты сторонних производителей, которые до известной степени позволяют пользователям редактировать преобразованные SWF, а также удалять теги защиты, если авторы случайно их потеряли и теперь им требуется повторный импорт SWF. Эти инструменты не относятся к продуктам Adobe и не обеспечиваются никакими гарантиями. Кроме того, они были упомянуты лишь в плане помощи авторам в восстановлении их собственной работы; возможность злоупотребления по-прежнему остается.
На посты, размещаемые в Twitter™ и Facebook, условия Creative Commons не распространяются.
CODE STAGE
DEVELOPMENT & RESEARCH
Пересборка SWF с помощью библиотеки as3swf
Привет!
Давненько у нас не было хорошего разбойничьего налёта тематического контента — пора бы это исправить!)
Итак, как вы уже наверняка догадались из темы этого поста — речь пойдёт о применении библиотеки as3swf для редактирования SWF файла.
Для начала, расскажу немного о самой библиотеке.
Она предназначена для расковыривания SWF файлов в реальном времени — с помощью as3swf вы можете распарсить SWF файл из массива байт, пробежаться по всем его тэгам, выяснить все его характеристики (такие как частота кадров, версия и т.д.), а также, что весьма приятно, вы можете внести изменения в распарсенный SWF — удалить, добавить, заменить или изменить любой тэг, и после всех изменений сохранить SWF в массив байт. Можно даже создать SWF с нуля.
as3swf доступна для всевозможных действий на гитхабе: https://github.com/claus/as3swf
Библиотека поддерживается, автор (Claus Wahlers) доступен для общения, так что ваши Pull реквесты он заметит, если таковые будут
К слову, не так давно (буквально вчера) автор принял мой Pull реквест на добавление поддержки LZMA сжатия (подробнее про LZMA — тут)
Правда попробовать работу с LZMA в деле можно будет лишь после релиза 11.4.
Единственное, чего мне не хватало в этой библиотеке для ряда задач, так это полноценной поддержки парсинга и изменения ABC байткода, который содержится в тэге DoABC.
Автор as3swf начинал когда-то реализовывать подобный функционал в качестве отдельной библиотеки, но затем прекратил её поддерживать, и в данный момент этот проект уже не актуален.
С другой стороны, мне вполне понятны причины его решения — ведь для этих же целей есть замечательная библиотека as3commons bytecode, которая хоть как-то, но развивается и поддерживается: http://as3-commons.googlecode.com/svn/trunk/as3-commons-bytecode/changelog.txt
Её-то я и использовал для своих целей, но сейчас речь не о том случае.
Я расскажу, зачем мне понадобилась такая библиотека, как as3swf — у меня была задача реализовать замену одного тега на полностью новый аналог, с другим содержимым, если говорить конкретнее — то заменялся тэг DefineBinaryData.
Итак, вот как выглядит код, распарсивающий SWF файл:
Где swfByteArray — это массив байт с целевым SWF файлом.
Куда уж проще, да?
После распарсивания SWF, мне необходимо было заменить определенный контент, заэмбеденный во флэшку с помощью флексового тэга
При использовании такого способа включения контента в SWF, в результате во флэшке появляется ряд особенных вещей, которые необходимо знать, чтобы правильно заменить такой вот заэмбеденный контент.
Во-первых, появляется тэг DefineBinaryData со своим ID символа.
Также в результате использования тэга Embed появляется as3 класс с названием = НазваниеКласса_НазваниеПеременной и расширяющий класс mx.core.ByteArrayAsset.
Если представить, что мы использовали тэг Embed в классе MySuperClass пакета ru.codestage, то полное название будет ru.codestage.MySuperClass_EmbeddedDataClass.
И наконец,, появляется или дополняется тэг SymbolClass, который связывает символы с as3 классами по их id. В этот же тэг добавляются записи, когда вы прописываете линкейдж у символов библиотеки во Flash Pro.
Зная все это, нам не составит труда заменить заэмбеденный файл и ничего не сломать.
Вот, как это можно сделать средствами as3swf:
Код достаточно прозрачный и простой, не думаю, что у кого-то его понимание может вызвать сложности.
Как видите, as3swf — это мощный и гибкий инструмент (а ведь я продемонстрировал лишь малую часть всего возможного функционала), пользуйтесь им на здоровье!)
Не так давно я с его помощью реализовал для себя систему автоматического сайт-лочинга примерно за один день (бОльшая часть которого ушла на GUI :D)
Если у вас остались какие-либо вопросы или есть какие-нибудь замечания, предложения — оставляйте свои комментарии — я их обязательно прочту!
SWF файлы. Чем открыть/редактировать? Обзор программ
SWF ( Small Web Format ) – проприетарный видео-формат используемый для флеш-анимации, векторной графики, аудио и видео контента в сети Интернет.
Преимуществом формата является его небольшой размер за счет этого видео в формате SWF быстрее загружается и воспроизводится, а векторные картинки масштабируются без искажений.
Содержание:
Сфера использования достаточно разнообразна – баннеры, веб-сайты, легковесные игры (например, в социальных сетях), презентации, мультфильмы.
Открываем SWF-файлы с помощью браузера
Для открытия SWF -файлов может быть использован практически любой браузер ( Google Chrome , Mozilla Firefox , Opera , Safari , пр.).
Однако стоит оговориться, что в браузере должен быть установлен Flash -плеер. В некоторых он установлен по умолчанию, т.е. устанавливая браузер, вы также устанавливаете и Flash -плеер.
В некоторых случаях Flash -плеер необходимо будет установить дополнительно.
Для установки Flash -плеер в браузер необходимо зайти на веб-сайт Adobe . Скачать установщик, нажав кнопку «Загрузить» и после окончания закачки выполнить инсталляцию.
Для открытия SWF -файла достаточно его перетащить ( drag ’ n ’ drop ) в окно браузера. Если файл не открывается, возможно, необходимо обновить Flash -плеер вашего браузера.
Преимуществом открытия SWF -файлов с помощью браузера является быстрый просмотр файла, без необходимости загрузки специального программного обеспечения (как правило, Flash -плеер уже установлен в браузер).
Недостатком просмотра SWF -файлов в браузере является относительно низкая функциональность (возможность паузы, перемотки, остановки видеоряда), по сравнению с плеерами.
Полезная информация:
Для конвертации видео из одного формата в другой рекомендуем воспользоваться программой Format Factory. Она способна работать с аудио, картинками, документами и прочим.
Открываем SWF-файлы с помощью Flash-плеера
Существует достаточно большое количество платных и бесплатных Flash -плееров, которые можно найти в Интернет-сети. Функционал бесплатных плееров, по сути, не отличается от платных аналогов.
KMPlayer. Довольно популярная программа, хотя нет, это не просто программа, а целый мультимедийный комбайн, от корейских разработчиков, который помимо просмотра SWF-файлов поддерживает большинство современных мультимедийных форматов.
Данная функция реализована благодаря внушительной библиотеке кодеков встроенной в проигрыватель.
Gnash (слово образовано от GNU и Flash) — плеер и плагин, выпущенный под лицензией GPL, с целью замены проприетарных программ (Adobe Flash).
Цель разработчиков Gnash — максимально приблизить функционал проекта к проприетарному плееру от Adobe.
Работает в UNIX-среде.
Swfdec — свободный проигрыватель файлов распространяемый по GPL-лицензии.
Представлен в виде плагина для браузеров поддерживающих NSPlugin-интерфейс (Mozilla Firefox, Opera, Konqueror) и плеера. Работает в UNIX- и BSD-подобных операционных системах.
Редактирование SWF-файлов
Редактирование SWF-файлов может понадобиться при внесении небольших корректировок в готовую страницу веб-сайта, в этом случае нет необходимости в использовании программ, в которых был создан файл.
С помощью бесплатного редактора SwiX можно внести изменения непосредственно в SWF-файл, без потери исходного качества (изменяется только отредактированный компонент), все что необходимо сделать это открыть файл, внести и сохранить изменения.
Интерфейс редактора довольно прост и состоит из панели инструментов, каталога ресурсов и xml-редактора.
Ключевыми особенностями программы является русскоязычный интерфейс, стабильность работы с большими файлами, возможность компиляции/декомпиляции файлов, а также наличие редактора с подсветкой синтаксиса, форматированием кода и функцией автозавершения.
Платный редактор Flash Decompiler Trillix с русскоязычным интерфейсом.
Помимо собственно декомпиляции и редактирования SWF-файлов, позволяет конвертировать SWF-файл в формат FLA, а SWF-элементы (аудио, видео, изображение, текст, формы, фреймы) в различные форматы с целью их последующего анализа и изменения.
Редактор имеет функцию пакетного конвертирования файлов, позволяющая выбрать пакет файлов для конвертации, а вам заняться более полезными делами.
Одной из ключевых особенностей данного редактора является возможность просмотра изменений «на ходу», не нуждается в дополнительной установке Flash Studio и Adobe Flash.
Цена однопользовательской лицензии составляет 80 долларов.
Редактор SWF-файлов Sothink SWF Quicker является достаточно мощным приложением, позволяющим не только редактировать, но и создавать красочные, анимационные баннеры, флеш-игры, ролики и многое другое.
Новички могут воспользоваться мастером создания проекта, с возможностью выбора одного из многочисленных шаблонов.
С помощью редактора может быть отредактирован любой элемент SWF-файла.
К особенностям программы следует отнести наличие редактора с подстветкой кода, применения Flash-фильтров для добавления специальных визуальных эффектов к объектам.
А также применение эффекта морфинга к фотографиям и тексту, возможность создания векторной графики и текстов с помощью WYSIWYG среды, большое количество встроенных анимационных эффектов.
Цена лицензии составляет 85 долларов.
SWF — чем открыть файл
Чем открыть swf файлы? Поможет расширение браузера google, которое можно найти в магазине гугл хром
HelperLife
Формат файла SWF: что это такое, с помощью каких программ можно открыть и конвертировать. Расскажем о широких возможностях формата.
Рядовые пользователи компьютера и сети Интернет редко сталкиваются с форматом SWF, разве что в виде рекламных флеш-баннеров на сайтах. Этот стандарт имеет большие возможности и множество способов использования. Самое стандартное представление – анимация различного вида, для открытия которой браузер требует установку флэш-плеера. В современных версиях популярных браузеров такой плагин есть по умолчанию и пользователю остается только включить его в момент необходимости.
SWF – что это за формат
В 1995 году компанией FutureWave Software был разработан стандарт SWF – что это за формат и какие возможности он предлагает, компьютерные специалисты узнали позже.
SWF – это патентованный формат корпорации Adobe Systems, предназначенный для отображения на веб-страницах флеш-анимаций, видео и аудио контента, а также других графических файлов. Сфера применения очень разнообразна: от простых презентаций до полноценных сайтов с внедрением технологий XML и PHP. Положительные отличия: видеофайлы грузятся и воспроизводятся быстрее, картинки при масштабировании не имеют значительных искажений.
Первоначально, владельцем спецификации (на тот период он имел название SPL) была не компания Adobe Systems. После разработки стандарта, в 1996 году, компания Macromedia купила FutureWave Software. В 2005 году Macromedia была приобретена Adobe Systems.
Чем можно открыть SWF-файл: перечень программ
Как открыть файл формата SWF
Важно. Практически для всех веб-браузеров требуется установка Adobe Flash Player. У Google Chrome инсталляция и обновление происходят автоматически.
Как открыть SWF-файл на компьютере
Совет. Если у вашего компьютера операционная система Mac OS, то следует выбрать аналогичную программу для просмотра SWF из списка пункта 2.
Как открыть файл SWF в онлайне – без сторонних программ
Как открыть SWF-файл на андроиде
Файлы на Андроид можно открыть только для просмотра, а для создания и редактирования требуются ресурсы компьютера. В Google Play Market есть отличное приложение для просмотра флеш-файлов под названием SWF Player. Приложение отличается минимальными требованиями памяти и удобством эксплуатации.
Онлайн-сервисы для конвертирования SWF-файлов
Не открываются swf файлы: видео
Часто приходится сталкиваться с ситуацией, когда файлы не открываются. Возможно, это связано с проигрывателем или браузером – тогда необходимо их переустановить. Если причина кроется не в этом, тогда предлагаю посмотреть видео о возможной другом факторе неисправности:
Программирование на ActionScript 3.0 — начало
Если Вы работаете с Flash и используете его пока что только для рисования и простой анимации, создание роликов или баннеров, но ни разу не занимались программированием в нём, то вероятно Вам очень хотелось узнать эту сторону flash-а.
Что такое ActionScript? Как можно писать код на flash-е? Как можно полноценно программировать во flash? Какие инструменты для этого лучше всего использовать? В данной статье приводятся ответы на подобные вопросы.
Эта статья послужит хорошим руководством новичка в программировании под flash на ActionScript 3.0 и поможет выбрать лучшие инструменты для этого.
Что такое ActionScript?
Action Script — это объектно-ориентированный язык программирования, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений.
С помощью Action Script можно создавать интерактивные мультимедиа-приложения, игры и веб-сайты.
Если Вы работаете с графической средой разработки Flash IDE (например Adobe Flash Professional CS5), но ни разу не интересовались где там можно писать программный код, то вероятно Вас уже волнует вопрос «Где же он прячется, этот AS3?».
AS3 во Flash IDE.
Создадим новый проект File — New — ActionScript 3.0 (рис. 1).
Появится пустая сцена с пустым кадром на одном слое. Теперь можно выделить кадр и нажать F9, тем самым открыть окно «Actions», в котором и находится область редактирования программного кода данного кадра.
Давайте напишем в открывшемся окне следующий код:
Рис. 2. Код, написанный в редакторе Flash IDE.
Теперь можно запускать флешку (Ctrl+Enter). Данный код создаёт переменную s типа String (строка) и присваивает ей начальное значение — строку «its my AS3 code trace!«. Далее, функцией trace(), аргументом которой выступает ново созданная переменная, данная строка (а точнее уже значение переменной s) выводится во вкладку output, которая по умолчанию в интерфейсе IDE располагается рядом с вкладкой timeline.
Рис. 3. Отображение результата функции trace() в окне OUTPUT при запуске flash-ки.
Таким образом можно открывать и закрывать(на F9) редакторы кода для любого кадра флеш-приложения.
Вроде картина выходит не плохая — можно создавать разные объекты с анимациями (MovieClip), либо статичные картинки (Sprite) и у каждого объекта будут кадры и в каждом кадре можно запрограммировать всё что угодно. Выглядит удобно и гибко. Но это лишь на первый взгляд. Представьте что у Вас десятки объектов с десятками кадров и всем им нужно описать кодом различную или схожую логику поведения. Во втором случае (схожая логика) — это вообще означает сотни схожих строк кода, которые можно будет замучиться даже копировать из кадра в кадр. А представьте что в процессе разработки вам понадобится что-то изменить. Нет — это не дело! Не для этого хаоса был задуман язык AS3!
В добавок, если Вы поработаете редактором кода Flash IDE и, к примеру, работали в какой-нибудь другой среде программирования (Delphi, Visual Studio), то сразу заметите, что данный редактор, мягко говоря, удручает своей не удобностью и недоделанностью.
Что же делать, спросите Вы? Искать сторонние редакторы кода.
Альтернативные редакторы кода.
Самый лучший вариант для ОС Windows — это FlashDevelop (FD). Скачать свежую версию можно с сайта www.flashdevelop.org.
Для iOS хорошей альтернативой является FDT. Ознакомиться можно на оф. сайте fdt.powerflasher.com.
FlashDevelop.
Т.к. я на данный момент преимущественно обитаю в Windows, то расскажу о редакторе именно под эту ОС. В будущем, когда наберусь опыта в FDT, то напишу и о нём.
В установке нет ничего сложного, качайте свежую версию с оф. сайта и устанавливайте. Редактор совершенно бесплатный и для компиляции использует Flex SDK. Во время стандартной установки FD сам позаботится об установке последнего. Всё что надо установить для FD самому — это Java.
FD имеет массу удобств и особенностей среди которых: горячие клавиши, хорошая авто подстановка, шаблоны классов, возможность создавать свои шаблоны и редактировать имеющиеся.
После установки можно создать новый проект (Project — New Project…), откроется диалог создания проекта, как показано на рис. 4.
Рис. 4. Диалог создания нового проекта во FlashDevelop.
Как можно заметить, FD позволяет создавать не только AS3 проекты. Но сейчас нас интересует именно AS3 проект, я предпочитаю выбирать заготовку для проекта с Preloader-ом, который и выбран на рис. 4. Далее введите имя проекта (поле Name) и назначьте директорию проекта (поле Location), если стоит галочка «Create directory for project», то в директории Location будет создана папка с именем проекта (Name) и в неё уже поместятся файлы проекта, если галочка не стоит, то файлы поместятся в указанную директорию Location.
После создания проекта справа Вы увидите структуру файлов и папок проекта, откройте папку src и откройте двойным щелчком файл Main.as. После чего Вы должны наблюдать код примерно такой же, как на рис. 5.
Рис. 5. Код класса Main нового проекта во FlashDevelop.
Попробуем написать какой-нибудь код, например примерно тот же, который пробовали в Flash IDE. Писать можно после комментированной строки «// entry point» т.к. это точка где сцена уже точно создана. напишем команду trace(), на рис. 5. я уже позволил себе это деяние :]
Теперь можно скомпилировать проект (F8) или сразу запускать для тестирования (F5), после запуска в окне Output вы увидите результат работы функции trace() — вывод строки.
Результаты команды trace() можно наблюдать только во время запуска приложения из под IDE, в которой компилируется и запускается код.
При запуске файла .swf в браузере или в обычном flash-плеере результат (а т.е. отображение окна output) не будет виден никому.
Теперь я уверен, что Вам уже не терпится сделать свой первый проект на AS3! А для этого нужно приступить к изучению самого языка.
Изучение языка AS3.
Про AS3 можно конечно писать много, но лучше чем в книгах я вряд ли напишу, тем более что всё уже написано, поэтому моё дело посоветовать лучшую литературу отталкиваясь от своего опыта.
Хорошее дополнение к знаниям: Джои Лотт — «ActionScript 3.0. Сборник рецептов».
Читал в своё время ещё такую книгу: Рич Шуп — «Изучаем ActionScript 3.0. От простого к сложному». Написано хоть и не сильно много и подробно, но для новичков сойдёт, если под рукой нет Мука.
Этих книг весьма достаточно для бодрого старта! Читайте и практикуйтесь, практикуйтесь и читайте. Нет необходимости сесть и читать эти книги от корки до корки, т.к. в процессе чтения важно закреплять знания практикой, да и Вам самим будет приятно сделать что-нибудь как можно скорее :]
Во время быстрого поиска документации в инете очень помогает оф. документация от Adobe.
Для дальнейшего развития, для хорошего осознания ООП и шаблонов проектирования (а это очень важно для хорошей ООП структуры) Вам будет незаменима следующая книга: Уильям Сандерс, Чандима Кумаранатунг — «ActionScript 3.0. Шаблоны проектирования».
На этом сайте вы так же найдёте не мало аспектов программирования на AS3, накопленных моим опытом.
К примеру, теперь вы можете узнать как использовать графику созданную в Flash IDE в своих флеш-проектах на FD, прочитав статью: Рисуем во Flash IDE, а кодим во FlashDevelop-е.
Или попробовать сделать свой первый прелоадер прочитав статью: Preloader своими руками.
Sothink SWF Decompiler
Вам необходимо открывать swf файл для редактирования? Тогда эта программа Вам поможет. Скачайте её, запустите. Выберите нужный swf файл и экспортируйте его в формат fla/flex или получите нужные Вам ресурсы из выбранного Вами файла swf.
Далее Вам остается только открыть полученный fla файл в программе Adobe Flash или ей подобной. Внесите необходимые изменения, нажмите Ctrl+Enter и Вы вновь получите swf файл, но уже измененный Вами.
Существуют ситуации, когда необходимо получить исходный код (source code) файла SWF и данная программа не справляется с этой задачей. Поэтому я рекомендую использовать сервис, предоставляемый сайтом http://www.showmycode.com/ для получения всего кода, содержащегося в SWF файле.
Данный сайт дает возможность получить исходный код таких форматов, как ZEND .php | Java .class | Adobe Flash .swf | .NET programs .exe, .dll | QR bar codes.
Для того, чтобы воспользоваться функцией получения кода Вам необходимо загрузить файл:
- Нажмите кнопку Choose (Выбрать). И выберите необходимый файл, код которого необходимо получить.
- Введите Букву или Цифру, которая указана на изображении (это проверка на человека).
- Нажмите кнопку Show My Code! (получить мой код).
- Если Вам необходимо поделиться кодом с кем-то, то поставьте галочку, для генерирования ссылки на Ваш код.
После чего пройдет обработка загруженного Вами файла определенными скриптами и Вы получите свой код.
Есть возможность скопировать его или сохранить, как файл.
SWF файлы. Чем открыть/редактировать? Обзор программ
SWF ( Small Web Format ) – проприетарный видео-формат используемый для флеш-анимации, векторной графики, аудио и видео контента в сети Интернет.
Преимуществом формата является его небольшой размер за счет этого видео в формате SWF быстрее загружается и воспроизводится, а векторные картинки масштабируются без искажений.
Содержание:
Сфера использования достаточно разнообразна – баннеры, веб-сайты, легковесные игры (например, в социальных сетях), презентации, мультфильмы.
Открываем SWF-файлы с помощью браузера
Для открытия SWF -файлов может быть использован практически любой браузер ( Google Chrome , Mozilla Firefox , Opera , Safari , пр.).
Однако стоит оговориться, что в браузере должен быть установлен Flash -плеер. В некоторых он установлен по умолчанию, т.е. устанавливая браузер, вы также устанавливаете и Flash -плеер.
В некоторых случаях Flash -плеер необходимо будет установить дополнительно.
Для установки Flash -плеер в браузер необходимо зайти на веб-сайт Adobe . Скачать установщик, нажав кнопку «Загрузить» и после окончания закачки выполнить инсталляцию.
Для открытия SWF -файла достаточно его перетащить ( drag ’ n ’ drop ) в окно браузера. Если файл не открывается, возможно, необходимо обновить Flash -плеер вашего браузера.
Преимуществом открытия SWF -файлов с помощью браузера является быстрый просмотр файла, без необходимости загрузки специального программного обеспечения (как правило, Flash -плеер уже установлен в браузер).
Недостатком просмотра SWF -файлов в браузере является относительно низкая функциональность (возможность паузы, перемотки, остановки видеоряда), по сравнению с плеерами.
Полезная информация:
Для конвертации видео из одного формата в другой рекомендуем воспользоваться программой Format Factory. Она способна работать с аудио, картинками, документами и прочим.
Открываем SWF-файлы с помощью Flash-плеера
Существует достаточно большое количество платных и бесплатных Flash -плееров, которые можно найти в Интернет-сети. Функционал бесплатных плееров, по сути, не отличается от платных аналогов.
KMPlayer. Довольно популярная программа, хотя нет, это не просто программа, а целый мультимедийный комбайн, от корейских разработчиков, который помимо просмотра SWF-файлов поддерживает большинство современных мультимедийных форматов.
Данная функция реализована благодаря внушительной библиотеке кодеков встроенной в проигрыватель.
Gnash (слово образовано от GNU и Flash) — плеер и плагин, выпущенный под лицензией GPL, с целью замены проприетарных программ (Adobe Flash).
Цель разработчиков Gnash — максимально приблизить функционал проекта к проприетарному плееру от Adobe.
Работает в UNIX-среде.
Swfdec — свободный проигрыватель файлов распространяемый по GPL-лицензии.
Представлен в виде плагина для браузеров поддерживающих NSPlugin-интерфейс (Mozilla Firefox, Opera, Konqueror) и плеера. Работает в UNIX- и BSD-подобных операционных системах.
Редактирование SWF-файлов
Редактирование SWF-файлов может понадобиться при внесении небольших корректировок в готовую страницу веб-сайта, в этом случае нет необходимости в использовании программ, в которых был создан файл.
С помощью бесплатного редактора SwiX можно внести изменения непосредственно в SWF-файл, без потери исходного качества (изменяется только отредактированный компонент), все что необходимо сделать это открыть файл, внести и сохранить изменения.
Интерфейс редактора довольно прост и состоит из панели инструментов, каталога ресурсов и xml-редактора.
Ключевыми особенностями программы является русскоязычный интерфейс, стабильность работы с большими файлами, возможность компиляции/декомпиляции файлов, а также наличие редактора с подсветкой синтаксиса, форматированием кода и функцией автозавершения.
Платный редактор Flash Decompiler Trillix с русскоязычным интерфейсом.
Помимо собственно декомпиляции и редактирования SWF-файлов, позволяет конвертировать SWF-файл в формат FLA, а SWF-элементы (аудио, видео, изображение, текст, формы, фреймы) в различные форматы с целью их последующего анализа и изменения.
Редактор имеет функцию пакетного конвертирования файлов, позволяющая выбрать пакет файлов для конвертации, а вам заняться более полезными делами.
Одной из ключевых особенностей данного редактора является возможность просмотра изменений «на ходу», не нуждается в дополнительной установке Flash Studio и Adobe Flash.
Цена однопользовательской лицензии составляет 80 долларов.
Редактор SWF-файлов Sothink SWF Quicker является достаточно мощным приложением, позволяющим не только редактировать, но и создавать красочные, анимационные баннеры, флеш-игры, ролики и многое другое.
Новички могут воспользоваться мастером создания проекта, с возможностью выбора одного из многочисленных шаблонов.
С помощью редактора может быть отредактирован любой элемент SWF-файла.
К особенностям программы следует отнести наличие редактора с подстветкой кода, применения Flash-фильтров для добавления специальных визуальных эффектов к объектам.
А также применение эффекта морфинга к фотографиям и тексту, возможность создания векторной графики и текстов с помощью WYSIWYG среды, большое количество встроенных анимационных эффектов.
Цена лицензии составляет 85 долларов.
SWF — чем открыть файл
Чем открыть swf файлы? Поможет расширение браузера google, которое можно найти в магазине гугл хром
редактирование swf-байт-кода во время выполнения?
Я пытаюсь сделать модификацию для World of tanks.
Он использует сценарий Scaleform и Action 3.
Поскольку редактирование SWF-файла каждый раз очень длинное, я бы хотел найти способ загрузить код во время выполнения, а затем редактировать оригинальные скрипты, которые находятся внутри swf-файлов.
Как я могу это сделать?
Создан 29 июн. 14 2014-06-29 00:03:59 user2054758
Это похоже на исправление исполняемого файла. Возможно, вы получите ‘loaderinfo.bytes’ и загрузите еще один SWF из исправленного’ ByteArray’. Но, перекомпилируя, что SWF невозможно из кода AS3. – Vesper 30 июн. 14 2014-06-30 05:34:16
Возможно, вы можете попробовать этот подход. Учитывая описание lib, вы можете иметь AS3-файл, искать/заменять определенную строку, компилировать ее и запускать. Но если вы хотите настроить таргетинг на автономный SWF, вам необходимо сначала декомпилировать его. Также декомпиляция, а затем перекомпиляция SWF обычно не работает без лишних хлопот, так что, возможно, это все еще невозможно. – Vesper 03 июл. 14 2014-07-03 05:02:16
Какие модификации вы пытаетесь сделать? (кроме того, что вы пытаетесь взломать игру) – divillysausages 05 июл. 14 2014-07-05 11:25:31
это не хак, в мире танков существует тысяча модов, и они декомпилируют swf для извлечения гибкого проекта, затем отстраивают и меняют код ABC. Но так как это длинный путь, мне бы хотелось отредактировать swf на лету с помощью lib или, поскольку swf сначала загружается из папки res_mods, если он существует, создайте новый с почти таким же контентом – user2054758 12 июл. 14 2014-07-12 10:09:35
1 ответ
В ваших комментариях есть некоторые подходы к редактированию на уровне байтов. Это требует передовой хакерской и отладочной тактики. Многие из них связаны с фундаментальными исследованиями, основанными на адаптации исходного кода на крошечных этапах, компиляции, сравнении полученного кода.
Однако, когда я читаю «. затем редактируйте оригинальные скрипты . » в своем вопросе, я задаюсь вопросом, есть ли у вас весь смысл: Вы редактируете свой код в текстовом формате. Вы компилируете свой текстовый код в двоичные данные, которые вообще не содержат какой-либо исходный текстовый исходный код. Точнее, ничто в конечном итоге не содержит значений данных (если это не сжато). Декомпиляция может потенциально преобразовать двоичный файл обратно в ActionScript или другие языки — НО для цены, имеющей смысл меньше функций и имен переменных, а также иногда и менее значимых алгоритмов (из-за оптимизации кода во время компиляции).
Создан 04 июл. 14 2014-07-04 13:04:52 Quicker
do_action() — создаёт хук (крючок), на месте которого в коде можно выполнить произвольную функцию
Принцип работы do_action() очень похож на принцип работы функции apply_filters() — всё начинается с кода, изменять который пользователю/разработчику сайта не стоит, и в этом коде есть место в котором потенциально будет нужно выполнить какой-то код. И в это место при помощи do_action() ставится хук, который позволяет это осуществить
Функция ничего не возвращает.
Пример использования do_action()
Предположим, что вы пишете свой плагин, и в этом плагине допустим есть место, в котором возможно потребуется выполнение дополнительного кода, скажем так — кому-то может потребуется, а кому-то нет.
В это место кода вы вставляете функцию do_action()
Инструкции, ключевые слова и директивы
Классы x
Инструкции — это элементы языка, выполняющие или задающие действие во время выполнения кода. Например, инструкция return возвращает результирующее значение функции, в которой выполняется эта инструкция. Инструкция if вычисляет условие для определения того, какое действие должно быть выполнено далее. Инструкция switch создает разветвленную структуру для элементов ActionScript.
Ключевые слова атрибутов используются для изменения значения определений и могут применяться к определениям классов, переменных, функций и пространств имен. Ключевые слова определения используются для определения различных сущностей, например переменных, функций, классов и интерфейсов. Ключевые слова первичных выражений используются для представления литеральных значений. Список зарезервированных слов см. здесь: Изучение ActionScript 3.0.
Директивы включают инструкции и определения и могут действовать на этапе компиляции или на этапе выполнения. Директивы, которые не являются ни инструкциями, ни определениями, отмечены как директивы в следующей таблице.
ключевое слово первичного выражения | |
---|---|
false | Логическое значение, представляющее false. |
null | Специальное значение, которое может быть присвоено переменным или возвращено функцией в отсутствие данных для обработки. |
this | Ссылка на объект, содержащий метод. |
true | Логическое значение, представляющее true. |
Пространства имен | |
AS3 | Определяет методы и свойства базовых классов ActionScript, которые являются фиксированными свойствами, а не свойствами прототипа. |
flash_proxy | Определяет методы класса Proxy. |
object_proxy | Определяет методы класса ObjectProxy. |
директива | |
default xml namespace | Директива default xml namespace задает пространство имен по умолчанию для объектов XML. |
import | Делает внешне определенные классы и пакеты доступными для пользовательского кода. |
include | Включает содержимое заданного файла, как если бы команды в файле были частью вызывающего сценария. |
use namespace | Приводит к добавлению заданных пространств имен в набор открытых пространств имен. |
инструкция | |
break | Используется в цикле ( for , for..in , for each..in , do..while или while ) или в блоке инструкций, связанных с определенным случаем в инструкции switch . |
case | Определяет цель перехода для инструкции switch . |
continue | Пропускает все оставшиеся инструкции в наиболее глубоко вложенном цикле и приступает к выполнению следующей итерации цикла, как если бы управление передавалось к концу цикла обычным способом. |
default | Определяет условие по умолчанию для инструкции switch . |
do..while | Работает аналогично циклу while за исключением того, что инструкции выполняются однократно перед начальным вычислением условия. |
else | Задает инструкции, которые выполняются, если условие в инструкции if возвращает значение false . |
for | Вычисляет однократно выражение init (инициализация), затем запускает циклическую последовательность. |
for..in | Выполняет итерацию через динамические свойства объекта или элементы массива и выполняет инструкцию statement для каждого свойства или элемента. |
for each..in | Выполняет итерацию через элементы коллекции и выполняет инструкцию statement для каждого элемента. |
if | Вычисляет условие, по которому определяется следующая инструкция для выполнения. |
label | Связывает инструкцию с идентификатором, ссылка на который может указываться при помощи инструкции break или continue . |
return | Заставляет процесс выполнения незамедлительно вернуться к вызывающей функции. |
super | Вызывает суперклассовую или родительскую версию метода или конструктора. |
switch | Приводит к передаче управления одной из нескольких инструкций в зависимости от значения выражения. |
throw | Генерирует, или выбрасывает, ошибку, которая может быть обработана, или перехвачена, блоком кода catch . |
try..catch..finally | Обрамляет блок кода, в котором может произойти ошибка, затем реагирует на ошибку. |
while | Вычисляет условие и, если получено значение true , выполняет инструкцию или набор инструкций перед возвращением по циклу к повторному вычислению условия. |
with | Устанавливает объект по умолчанию, который используется при выполнении одной или нескольких инструкций, потенциально сокращая размер кода, который будет написан. |
ключевое слово атрибута | |
dynamic | Показывает, что экземпляры класса могут обладать динамическими свойствами, добавляемыми во время выполнения. |
final | Показывает, что метод невозможно переопределить или что класс невозможно расширить. |
internal | Показывает, что класс, переменная, константа или функция доступны любой вызывающей программе в пределах того же пакета. |
native | Показывает, что функция или метод реализуются проигрывателем Flash Player в собственном коде. |
override | Показывает, что метод заменяет наследуемый метод. |
private | Показывает, что переменная, константа, метод или пространство имен доступны только для класса, который определяет их. |
protected | Показывает, что переменная, константа, метод или пространство имен доступны только для класса, который определяет их, и для подклассов этого класса. |
public | Показывает, что класс, переменная, константа или метод доступны любой вызывающей программе. |
static | Показывает, что переменная, константа или метод принадлежит классу, а не экземплярам класса. |
ключевое слово определения | |
. (rest) parameter | Показывает, что функция принимает любое число разделенных запятыми аргументов. |
class | Определяет класс, который позволяет создавать экземпляры объектов, применяющие заданные общие методы и свойства. |
const | Задает константу, являющуюся переменной, значение которой можно присвоить только один раз. |
extends | Определяет класс, который является подклассом другого класса. |
function | Составляет набор инструкций, заданный пользователем для выполнения определенной задачи. |
get | Определяет получателя — метод, который может быть прочитан как свойство. |
implements | Указывает на то, что класс реализует один или несколько интерфейсов. |
interface | Определяет интерфейс. |
namespace | Позволяет управлять видимостью определений. |
package | Позволяет организовать код в дискретные группы, которые смогут импортировать другие сценарии. |
set | Определяет установщик — метод, отображаемый в общедоступном интерфейсе как свойство. |
var | Задает переменную. |
. (rest) parameter | ключевое слово определения |
Применение
rest :* — Идентификатор, представляющий собой имя массива аргументов, переданного функции. Параметр не обязательно должен иметь имя rest; он может иметь любое имя, не являющееся ключевым словом. Можно задать для параметра «. » (rest) тип данных Array, но это может привести к путанице, так как параметр принимает список разделенных запятой значений, который не идентичен экземпляру класса Array. |
Пример
Использование этого примера
В следующем примере параметр . (rest) используется в двух различных функциях. Первая функция traceParams просто вызывает функцию trace() для каждого аргумента в массиве rest. Вторая функция average() принимает список аргументов и возвращает среднее значение. Во второй функции для параметра используется другое имя — args.
Связанные элементы API
AS3 | Пространства имен |
Определяет методы и свойства базовых классов ActionScript, которые являются фиксированными свойствами, а не свойствами прототипа. При установке параметра компилятора «-as3» на значение true (что является установкой по умолчанию в Flex Builder 2)пространство имен AS3 автоматически открывается для всех базовых классов. Это значит, что экземпляр базового класса будет использовать фиксированные свойства и методы вместо версий этих свойств и методов, прикрепленных к объекту-прототипу этого класса. Использование фиксированных свойств обычно обеспечивает лучшую производительность, но в ущерб обратной совместимости со спецификацией языка ECMAScript редакции 3 (ECMA-262).
Связанные элементы API
break | инструкция |
Применение
label :* — Имя метки, связанной с инструкцией. |
Пример
Использование этого примера
В следующем примере используется инструкция break для выхода из бесконечного цикла:
Связанные элементы API
case | инструкция |
Применение
jumpTarget :* — Любое выражение. |
statements :* — Инструкции, выполняемые, если jumpTarget совпадает с условным выражением в инструкции switch. |
Пример
Использование этого примера
Следующий пример определяет цели перехода для инструкции switch как thisMonth. Если thisMonth совпадает с выражением в инструкции case, инструкция выполняется.
Связанные элементы API
class | ключевое слово определения |
Применение
className :Class — Полное имя класса. |
Пример
Использование этого примера
В следующем примере создается класс с именем Plant. Конструктор Plant имеет два параметра.
Связанные элементы API
const | ключевое слово определения |
Применение
identifier :* — Идентификатор константы. |
Пример
Использование этого примера
Следующий пример показывает, что при попытке присвоить значение константе больше одного раза возникает ошибка.
Связанные элементы API
continue | инструкция |
Применение
default | инструкция |
Применение
statements :* — Любые инструкции. |
Пример
Использование этого примера
В следующем примере, если днем недели является Saturday или Sunday, ни одна из инструкций case не применяется, а выполняется переход к инструкции default.
Связанные элементы API
default xml namespace | директива |
Применение
do..while | инструкция |
Применение
condition :Boolean — Вычисляемое условие. Инструкции statement(s) в пределах блока кода do будут выполняться, пока параметр condition принимает значение true. |
Пример
Использование этого примера
В следующем примере цикл do..while используется для вычисления того, принимает ли условие значение true, и для отслеживания переменной myVar, пока переменная myVar не примет значение 5 или больше. Когда переменная myVar принимает значение 5 или больше, цикл завершается.
Связанные элементы API
dynamic | ключевое слово атрибута |
Применение
else | инструкция |
Применение
condition :Boolean — Выражение, принимающее значение true или false. |
Пример
Использование этого примера
В следующем примере условие else используется для проверки того, принимает ли переменная age_txt значение больше или меньше 18:
Связанные элементы API
extends | ключевое слово определения |
Применение
className :Class — Имя определяемого класса. |
Пример
Использование этого примера
В следующем примере класс Car расширяет класс Vehicle с наследованием всех методов, свойств и функций. Если сценарий создает экземпляр объекта Car, можно использовать методы обоих классов — класса Car и класса Vehicle. В следующем примере показано содержимое файла с именем Vehicle.as, который определяет класс Vehicle:
Связанные элементы API
false | ключевое слово первичного выражения |
Применение
final | ключевое слово атрибута |
Применение
methodName :Function — Имя метода, который невозможно переопределить. |
className :Class — Имя класса, который невозможно расширить. |
Связанные элементы API
flash_proxy | Пространства имен |
Определяет методы класса Proxy. Методы класса Proxy находятся в собственном пространстве имен во избежание конфликтов имен в случаях, когда подкласс Proxy содержит методы экземпляра с именами, которые совпадают с именами методов класса Proxy.
Связанные элементы API
for | инструкция |
Применение
init — Дополнительное выражение для вычисления перед началом выполнения циклической последовательности; как правило, это выражение присваивания. Инструкция var также допустима для данного параметра. |
condition — Дополнительное выражение для вычисления перед началом выполнения циклической последовательности; как правило, это выражение сравнения. Если выражение принимает значение true, инструкции, связанные с инструкцией for, выполняются. |
next — Дополнительное выражение для вычисления после выполнения циклической последовательности; как правило, это выражение увеличения или уменьшения на единицу. |
Пример
Использование этого примера
В следующем примере инструкция for используется для добавления элементов в массив:
Связанные элементы API
for..in | инструкция |
Применение
variableIterant :String — Имя переменной, выступающей в роли итеранта, ссылающейся на каждое свойство объекта или элемента массива. |
Пример
Использование этого примера
В следующем примере цикл for..in используется с целью выполнения итерации для всех свойств объекта:
Связанные элементы API
for each..in | инструкция |
Применение
variableIterant :* — Имя переменной, выступающей в роли итеранта, ссылающейся на элемент коллекции. |
object :Object — Имя коллекции, через которую выполняется итерация. Коллекцией может быть объект XML, типовой объект или массив. |
Пример
Использование этого примера
В следующем примере цикл for each..in используется с целью выполнения итерации для всех значений, содержащихся в свойствах объекта:
function | ключевое слово определения |
Применение
functionName :Function — Имя новой функции. |
returnType :* — Тип данных возвращаемого значения. |
Пример
Использование этого примера
Далее приводится пример определения функции sqr, которая возвращает число, возведенное в квадрат:
Связанные элементы API
get | ключевое слово определения |
Применение
property :* — Идентификатор свойства, к которому обращается инструкция get; это значение должно быть тем же, что используется в соответствующей команде set. |
returnType :* — Тип данных возвращаемого значения. |
Пример
Использование этого примера
Далее приводится пример определения класса Team. Класс Team включает в себя методы получателя и установщика, которые позволяют считывать и задавать свойства в классе:
Связанные элементы API
if | инструкция |
Применение
condition :Boolean — Выражение, принимающее значение true или false. |
Связанные элементы API
implements | ключевое слово определения |
Применение
import | директива |
Применение
packageName :* — Имя пакета, определенного пользователем в отдельном файле класса. |
className :Class — Имя класса, определенного пользователем в отдельном файле класса. |
include | директива |
Применение
interface | ключевое слово определения |
Применение
internal | ключевое слово атрибута |
Применение
className :Class — Имя класса, который нужно задать как внутренний (internal). |
varName :* — Имя переменной, которую нужно задать как внутреннюю (internal). Атрибут internal можно применять независимо от того, является переменная частью класса или нет. |
kName :* — Имя константы, которую нужно задать как внутреннюю (internal). Атрибут internal можно применять независимо от того, является константа частью класса или нет. |
functionName :Function — Имя функции или метода, которые нужно задать как внутренние (internal). Атрибут internal можно применять независимо от того, является функция частью класса или нет. |
nsName :Namespace — Имя пространства имен, которое нужно задать как внутреннее (internal). Атрибут internal можно применять независимо от того, является пространство имен частью класса или нет. |
Связанные элементы API
label | инструкция |
Применение
label :* — Действительный идентификатор, связываемый с инструкцией. |
statements :* — Инструкция, связываемая с меткой. |
Пример
Использование этого примера
Следующий пример иллюстрирует использование метки во вложенном цикле для выхода из всей серии циклов. В коде используется вложенный цикл для создания списка чисел от 0 до 99. Инструкция break появляется непосредственно перед тем, как счет достигнет 80. Если бы инструкция break не использовала метку outerLoop, код пропустил бы только оставшуюся часть непосредственно выполняемого цикла и продолжил бы выводить числа от 90 до 99. Однако за счет использования метки outerLoop инструкция break пропускает всю серию циклов, и последним выводится число 79.
Связанные элементы API
namespace | ключевое слово определения |
Применение
name :Namespace — Имя пространства имен, которым может быть любой допустимый идентификатор. |
uri :String — Унифицированный идентификатор ресурса (URI-адрес) пространства имен. Этот параметр не является обязательным. |
Связанные элементы API
native | ключевое слово атрибута |
Применение
null | ключевое слово первичного выражения |
Применение
object_proxy | Пространства имен |
Определяет методы класса ObjectProxy. Методы класса ObjectProxy находятся в собственном пространстве имен во избежание конфликтов имен в случаях, когда подкласс Proxy содержит методы экземпляра с именами, которые совпадают с именами методов класса Proxy.
override | ключевое слово атрибута |
Применение
name :Function — Имя переопределяемого метода. |
Связанные элементы API
package | ключевое слово определения |
Применение
packageName :* — Имя пакета. |
Связанные элементы API
private | ключевое слово атрибута |
Применение
varName :* — Имя переменной, которую нужно задать как частную (private). Атрибут private можно применить, только если переменная находится внутри класса. |
kName :* — Имя константы, которую нужно задать как частную (private). Атрибут private можно применить, только если константа находится внутри класса. |
methodName :Function — Имя метода, который нужно задать как частный (private). Атрибут private можно применить, только если метод находится внутри класса. |
nsName :Namespace — Имя пространства имен, которое нужно задать как частное (private). Атрибут private можно применить, только если пространство имен находится внутри класса. |
Пример
Использование этого примера
Следующий пример иллюстрирует способ скрытия определенных свойств в классе при помощи ключевого слова private.
Связанные элементы API
protected | ключевое слово атрибута |
Применение
varName :* — Имя переменной, которую нужно задать как защищенную (protected). Атрибут protected можно применить, только если переменная находится внутри класса. |
kName :* — Имя константы, которую нужно задать как защищенную (protected). Атрибут protected можно применить, только если константа находится внутри класса. |
methodName :Function — Имя метода, который нужно задать как защищенный (protected). Атрибут protected можно применить, только если метод находится внутри класса. |
nsName :Namespace — Имя пространства имен, которое нужно задать как защищенное (protected). Атрибут protected можно применить, только если пространство имен находится внутри класса. |
Пример
Использование этого примера
Следующий код создает переменную в защищенном классе A и успешно получает доступ к этой переменной в классе B, так как класс B является подклассом класса A.
Связанные элементы API
public | ключевое слово атрибута |
Применение
className :Class — Имя класса, который нужно задать как общедоступный (public). |
varName :* — Имя переменной, которую нужно задать как общедоступную (public). Атрибут public можно применять независимо от того, является переменная частью класса или нет. |
kName :* — Имя константы, которую нужно задать как общедоступную (public). Атрибут public можно применять независимо от того, является константа частью класса или нет. |
functionName :Function — Имя функции или метода, которые нужно задать как общедоступные (public). Атрибут public можно применять независимо от того, является функция частью класса или нет. |
nsName :Namespace — Имя пространства имен, которое нужно задать как общедоступное (public). Атрибут public можно применять независимо от того, является пространство имен частью класса или нет. |
Пример
Использование этого примера
Следующий пример иллюстрирует использование общедоступных переменных в файле класса:
Связанные элементы API
return | инструкция |
Применение
expression :* — Выражение, которое нужно вычислить и вернуть в качестве значения функции. Этот параметр является необязательным. |
Пример
Использование этого примера
В следующем примере инструкция return используется в теле функции sum() для возврата суммы трех параметров. Следующая строка кода вызывает sum() и присваивает возвращенное значение переменной newValue.
Связанные элементы API
set | ключевое слово определения |
Применение
property :* — Идентификатор свойства, которое изменяется при помощи инструкции set; это значение должно быть тем же, что используется в соответствующей команде get. |
newValue :* — Новое присваиваемое значение. |
Пример
Использование этого примера
В следующем примере создается свойство чтения-записи с именем age путем определения получателя-установщика.
Связанные элементы API
static | ключевое слово атрибута |
Применение
varName :* — Имя переменной, которую нужно задать как статическую (static). |
kName :* — Имя константы, которую нужно задать как статическую (static). |
methodName :Function — Имя метода, который нужно задать как статический (static). |
Пример
Использование этого примера
Следующий пример иллюстрирует использование ключевого слова static для создания счетчика, который отслеживает количество созданных экземпляров класса. Поскольку переменная numInstances является статической, она будет создана только один раз для всего класса, а не для отдельных экземпляров. Создайте новый файл ActionScript с именем Users.as и введите следующий код:
super | инструкция |
Применение
method :Function — Метод, который нужно вызвать в суперклассе. |
argN :* — Дополнительные параметры, передаваемые суперклассовой версии метода или функции конструктора суперкласса. |
Связанные элементы API
switch | инструкция |
Применение
expression :* — Любое выражение. |
Пример
Использование этого примера
В следующем примере определяется инструкция switch, которая переходит к блоку по умолчанию:
Связанные элементы API
this | ключевое слово первичного выражения |
Применение
throw | инструкция |
Применение
expression :* — Выражение или объект ActionScript. |
Пример
Использование этого примера
В данном примере функция с именем checkEmail() проверяет, является ли переданная ей строка верно отформатированным адресом электронной почты. Если строка не содержит символ @, функция выдает ошибку.
Связанные элементы API
true | ключевое слово первичного выражения |
Применение
try..catch..finally | инструкция |
Применение
error :* — Выражение, возвращенное инструкцией throw; как правило, это экземпляр класса Error или один из его подклассов. |
Пример
Использование этого примера
Следующий пример иллюстрирует использование инструкции try..catch. Код в блоке try содержит недопустимую операцию. Спрайт не может добавить себя в качестве дочернего объекта. В результате проигрыватель Flash Player выдает исключение и передает объект типа ArgumentError соответствующему блоку catch.
Связанные элементы API
use namespace | директива |
Применение
nsN :Namespace — Одно или несколько пространств имен, добавляемых в набор открытых пространств имен. |
Связанные элементы API
var | ключевое слово определения |
Применение
variableName :* — Идентификатор. |
Пример
Использование этого примера
Следующий сценарий ActionScript создает новый массив названий продуктов. Array.push добавляет элемент в конец массива.
Связанные элементы API
while | инструкция |
Применение
condition :Boolean — Выражение, принимающее значение true или false. |
Пример
Использование этого примера
В следующем примере инструкция while используется для проверки выражения. Когда значение i меньше 20, выполняется трассировка значенияi. Когда условие перестает принимать значение true, цикл завершается.
Связанные элементы API
with | инструкция |
Применение
object :Object — Экземпляр объекта ActionScript или фрагмент ролика. |
Пример
Использование этого примера
Следующий код задает свойства _x и _y экземпляра someOther_mc, затем предписывает someOther_mc перейти к Кадру 3 и остановиться. with (someOther_mc) < _x = 50; _y = 100; gotoAndStop(3); >Следующий фрагмент кода иллюстрирует написание предшествующего кода без использования инструкции with. someOther_mc._x = 50; someOther_mc._y = 100; someOther_mc.gotoAndStop(3); Инструкция with используется для доступа к нескольким элементам в списке цепочки областей видимости одновременно. В следующем примере встроенный объект Math помещается в начало цепочки областей видимости. Установка Math в качестве объекта по умолчанию разрешает идентификаторы cos, sin и PI в Math.cos, Math.sin и Math.PI соответственно. Идентификаторы a, x, y и r не являются методами или свойствами объекта Math, но поскольку они существуют в области активации объекта функции polar(), они разрешаются в соответствующие локальные переменные.
© 2015 Adobe Systems Incorporated. All rights reserved.
Tue Jun 12 2020, 11:52 AM Z