2012-01-25 2 views
0

Это может быть тривиальный вопрос, но я не нашел для него определенного ответа. Anyways есть способ использовать макросы или, если быть более конкретным, макросы функции (например, #define test(x) #x в C) в actionscript3? Или это то, что невозможно с этим языком?макросы и actionscript3

Заранее спасибо

ответ

0

Просмотрели ли вы файлы html-шаблона?

$ {проект} Название проекта, например. Мой проект.

$ {application} Название приложения, например. MyApp.

$ {version_major} Основной номер версии версии Flash, необходимый для запуска этого приложения, например. 9 для версии 9.0 r28. Вы можете изменить этот и другие макросы $ {version _...}, перейдя в Project> Properties, затем «Flex Compiler» или «ActionScript Compiler», а затем измените номер версии проигрывателя в разделе «HTML-обложка».

$ {version_minor} Небольшой номер версии версии Flash, необходимый для запуска этого приложения, например. 0 для версии 9.0 r28.

$ {version_revision} Номер версии версии Flash, необходимый для запуска этого приложения, например. 28 для версии 9.0 r28.

$ {build_suffix} Это значение равно «-debug» при создании отладочной версии SWF и «» при создании версии выпуска.

$ {swf} Название SWF, не включая расширение .swf, например. MyApp или MyApp-debug. Это, по сути, удобный макрос, эквивалентный $ {application} $ {build_suffix}.

$ {bgcolor} Цвет фона приложения, как указано в атрибуте backgroundColor тега, или, в случае проектов только для ActionScript, в поле backgroundColor атрибута метаданных [SWF] основной класс приложения, например [SWF (backgroundColor = "# ffffff")] public class MyApp расширяет Sprite (см. Это сообщение для получения дополнительной информации об установке ширины, высоты и цвета фона проекта ActionScript). Результат имеет вид #rrggbb, например. #ffffff. На самом деле это может быть немного сложно использовать, потому что по умолчанию фон приложения Flex фактически нежный градиент от одного цвета к другому; если вы хотите, чтобы фон HTML соответствовал фону вашего приложения Flex, вам, возможно, придется возиться с атрибутами backgroundColor и backgroundGradientColors тега.

$ {width} Ширина приложения, как указано в атрибуте width тега, или, в случае проектов только для ActionScript, в поле ширины атрибута метаданных [SWF] основного класс приложения, например [SWF (width = "300", height = "400")] Открытый класс MyApp расширяет Sprite.

$ {height} Высота приложения, как указано в атрибуте высоты тега, или, в случае проектов только для ActionScript, в поле высоты атрибута метаданных [SWF] основного класс приложения, например [SWF (width = "300", height = "400")] Открытый класс MyApp расширяет Sprite.

$ {title} Название приложения, указанное в атрибуте pageTitle для тега, или, в случае проектов только для ActionScript, в поле pageTitle атрибута метаданных [SWF] основного класс приложения, например [SWF (pageTitle = "flex r00lz")] Открытый класс MyApp расширяет Sprite.

0

Если вы имеете в виду препроцессора макросы, нет. ActionScript не поддерживает их.

+0

Это позор? Есть ли что-нибудь доступное, что их заменяет? – r3x

+0

Лучшей альтернативой, которую вы хотите найти, является подключаемый модуль IDE, который выполняет подстановку кода перед передачей кода компилятору ActionScript. Однако я не знаю ни одной руки. ActionScript 3 был настроен так, чтобы сделать его неаппетитным, чтобы поместить вещи в действительно глобальную область. На мой взгляд, лучший способ - создать класс Constants с множеством статических членов. Импортируйте его и вызовите статические элементы вместо использования макросов (например, Constants.test(), Constants.MY_CONSTANT и т. Д.). –

+0

Я бы избежал толстого класса с глобально доступными значениями и методами по той же причине, что и в первую очередь избегал бы делать вещи в глобальном масштабе. Возможно, он отлично работал на C, но AS3 - совсем другой язык. ... Тем не менее, делайте то, что вы должны делать. –

Смежные вопросы