MTASC
| MTASC | |||
|---|---|---|---|
![]() Логотип MTASC | |||
| Тип | Компилятор исходного кода | ||
| Разработчик | Motion-Twin | ||
| Написана на | OCaml[3] | ||
| Операционные системы | Windows, Linux, macOS | ||
| Дата выпуска | 25 октября 2004[1] | ||
| Последняя версия | 1.15[2] (7 октября 2009) | ||
| Репозиторий | github.com/ncannasse/mta… | ||
| |||
| |||
| Лицензия | GPL | ||
| Сайт | tech.motion-twin.com/mta… | ||
MTASC (Motion-Twin ActionScript 2 Compiler) — компилятор ActionScript 2.0, написанный на языке программирования Objective Caml (OCaml). Является свободно распространяемым программным обеспечением с открытым исходным кодом. Может компилировать один или несколько файлов ActionScript непосредственно в SWF-байткод без использования среды разработки Flash или других приложений.
MTASC представляет собой консольное приложение, вследствие этого появились отдельные проекты для облегчения работы с ним: интеграция с Flash IDE (FLASC), добавление интерфейса пользователя (mtascGUI) и т.п.
Отличия от компилятора Macromedia (MMC)
- Время компиляции. MTASC значительно быстрее MMC.
- Область действия локальных переменных. В MTASC она ограничена блоком кода, в MMC — функцией.
- Директива #include не поддерживается MTASC как соответствующая устаревшей практике программирования.
- Локальные (вложенные) функции. MTASC поддерживает только анонимные локальные функции, в то время как MMC допускает вложения именованных функций.
- Динамический доступ к данным и объектам. В MTASC не поддерживаются выражения типа eval("this") и eval("arguments"), свойство root клипа недоступно вне соответствующего контекста.
Дополнительные возможности и усовершенствования
- Пользовательские функции трассировки.
- Типизированные массивы.
- Определение типов переменных во время компиляции.
Использование
MTASC может использоваться как для инъекции кода в существующий SWF-файл (созданный при помощи Flash IDE), так и для компиляции нового из исходных файлов.
Запуск MTASC из командной строки
mtasc [параметры] файлы
Параметры командной строки
MTASC может быть запущен из командной строки со следующими параметрами:
| Параметр | Описание |
|---|---|
| -swf | Имя компилируемого SWF-файла. |
| -cp | Каталог с исходными файлами для компиляции; может быть указан несколько раз. |
| -main | Автоматический вызов статической функции main после регистрации классов. |
| -header | Данные заголовка компилируемого файла в формате ширина:высота:fps:цвет. Если параметр указан, будет скомпилирован новый SWF-файл. |
| -mx | Использовать классы компонентов MX V2. |
| -version | Версия SWF. |
| -v | Вывод подробной информации в процессе компилирования. |
| -out | Новое имя компилирумого файла. |
| -msvc | Использовать стиль Microsoft Visual Studio для вывода сообщений об ошибках компиляции. |
| -strict | Использовать строгий режим компиляции (должен быть указан тип переменных при объявлении). |
| -exclude | Текстовый файл, в котором перечислены не компилируемые исходные файлы (по одному в строке). |
| -trace | Имя пользовательской функции трассировки сообщений (замена стандартной функции trace()) или no для отключения трассировки. |
| -keep | Сохранять классы, уже скомпилированные в SWF. |
| -frame | Экспортировать классы AS2 ы указанный кадр. |
| -pack | Компилировать все файлы в указанном пакете. |
| -group | Объединяет классы в один клип (может привести к проблемам при совместном использовании с -keep или -mx). |
| -wimp | Предупреждать о неиспользуемых импортах классов. |
| -infer | Использовать определение типов для локальных переменных. |
| -help | Вывод информации о версии компилятора и списка параметров. |
Пример компиляции из командной строки
Для примера возьмём простой класс ActionScript:
// Test.as
class Test {
static var app:Test;
private var square:MovieClip;
static function main() {
app = new Test();
}
function Test() {
square = _root.createEmptyMovieClip("square", _root.getNextHighestDepth());
square._x = 150;
square._y = 150;
square.beginFill(0xFF9900);
square.moveTo( 50, 50);
square.lineTo( 50, -50);
square.lineTo(-50, -50);
square.lineTo(-50, 50);
square.lineTo( 50, 50);
square.endFill();
square.onEnterFrame = function() {
this._rotation += 1;
}
}
}
Запустите MTASC со следующими параметрами:
mtasc -v -main -swf test.swf -header 300:300:24:332525 Test.as
В результате будет скомпилирован файл test.swf с размерами сцены 300 на 300 пикселей, частотой кадров 24 и тёмно-коричневым цветом фона (#332525).
Примечания
- ↑ https://sourceforge.net/p/mtasc/code/HEAD/tree/trunk/original/ocaml/mtasc/doc/CHANGES.txt
- ↑ MTASC Changes. Дата обращения: 17 мая 2022. Архивировано 17 мая 2022 года.
- ↑ The mtasc Open Source Project on Open Hub: Languages Page — 2006.
Ссылки
- Официальная страница
- mtascGUI: Интерфейс пользователя для MTASC. Поддерживает FlashPlayer версий 6, 7, и 8 для немедленного просмотра скомпилированного файла.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
