Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Создание собственных метатегов (http://www.flasher.ru/forum/showthread.php?t=206636)

Akopalipsis 16.02.2014 01:31

Создание собственных метатегов
 
Вроде и flex, но мне же нужно использовать во flash... В общем сорри, я правда не знаю к какому разделу относится этот вопрос.
В гугле нашёл старую тему - Пользовательские мета-теги и то что она старая и побудило меня задать этот вопрос.
Как создать собственный метатег?
Код AS3:

[метка]
public var vars:Type;

Прошло столько уже лет, что возможно во FD создать его стало намного проще.
Поделитесь ссылками, советами, чем сможете. И ещё раз простите за раздел.

Добавлено через 1 час 7 минут
Что-то мне подсказало, что нужно попробовать просто написать тэг и о чудо, изменения за пять лет в чудо FD на лицо:)

alatar 16.02.2014 20:54

Статья актуальна.
Цитата:

Прошло столько уже лет, что возможно во FD создать его стало намного проще.
Куда еще проще?
Основной смысл: прописать метатег в опциях компилятора, потом в рантайме получить данные о нем в выводе describeType.

Akopalipsis 16.02.2014 21:06

Цитата:

Куда еще проще?
Проще имелось ввиду, без компиляции swc. Возможно в FD появилась опция, какое-то окно, где можно прописать тоже самое, без bat файла. swc и ant у меня пока в будущем, но я скачал плагин для FD-swc, но там такое нельзя.
И у меня ещё вопрос - рантайме, это когда уже флеш скомпилирована в релизе?
У меня задача была, собрать данные для однотипных свойств во время компиляции и помогло просто написать тэг [Метка], чтобы собрать данные. Но так я понял в скомпилированной swf без внедрения swc не получится? Неужели нужно бат файлы чтобы прописать в компиляторе тег?

alatar 16.02.2014 21:13

Нет, bat-файлы не нужны, параметр прописывается в опции компилятора (сейчас FD под рукой нет, так что посмотрите самостоятельно, как это делается именно в нем).
swc создавать не обязательно.
В рантайме это значит — когда программа исполняется.
Поясните вашу задачу, что вы подразумеваете под "собрать данные для однотипных свойств во время компиляции"?

Akopalipsis 16.02.2014 21:29

Делаю скинирование и в полях класса, описывающего тему оформления, есть много свойств, типа - button_default_up и т.п. И чтобы при смени самой темы оформления всем этим свойствам с типом BitmapData вызывать dispose, нужно собрать все имена этих свойств, а так же ещё они при смене координат верстки нужны. Вот я и пишу у всех таких свойств [BMD][Coord] и потом через describeType загоняю имена в массивы Vector<String>.

Добавлено через 1 минуту
Цитата:

сейчас FD под рукой нет, так что посмотрите самостоятельно, как это делается именно в нем
Если кто-то знает как, подскажите. я вчера весь вечер и до самого утра не мог не найти не нагуглить.

alatar 16.02.2014 21:32

Ну так это же не во время компиляции.

Akopalipsis 16.02.2014 21:44

Цитата:

Ну так это же не во время компиляции.
Возможно, но у меня исключительный случай:)
я собираюсь этим пользоваться, исключительно только при компиляции, так-как describeType видит только pablic свойства, а я не хочу делать их pablic. Вот и получается, что мне нужно только собрать имена, а потом я теги удалю и свойства в protected исправлю. Мне почему-то не нравится идея с xml описанием и изменением тем, это затратно. Мне показалось лучшим вариантом описывать темы, как классы, а потом в массив байт их помещать и при смене использовать классы не как Object, а как типизированный класс. Может и сумашествие, но пока так хочу поучится.
Мне самое главное, что работает без внесения каких либо изменений, просто тег достаточно прописать.
Спасибо Вам за объяснения.

alatar 17.02.2014 13:36

Можете воспользоваться as3-commons-bytecode. С этой библиотекой у вас будет гораздо больше возможностей, чем с describeType.

silin 17.02.2014 14:28

>>Вот я и пишу у всех таких свойств [BMD][Coord] и потом через describeType загоняю имена в массивы Vector<String>.

как вариант можно именовать их с соответствующими суффиксами (bmd_prop, coord_prop) с тем же результатом, но не связываясь с метатегами

>>Если кто-то знает как, подскажите. я вчера весь вечер и до самого утра не мог не найти не нагуглить.

это опция -keep-as3-metadata=<имя метатега>
добавить можно в Project Properties > Compiler Options > Additional Compiler Options

alatar 17.02.2014 14:31

Цитата:

Сообщение от silin (Сообщение 1160142)
как вариант можно именовать их с соответствующими суффиксами (bmd_prop, coord_prop) с тем же результатом, но не связываясь с метатегами

Проще тип посмотреть, раз уж свойства определенного типа обрабатываются.


Часовой пояс GMT +4, время: 16:25.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.