Is it possible to do a #define in Adobe Flex?

谁说胖子不能爱 提交于 2019-12-05 06:57:29

Actually MXMLC (the compiler in the Flex SDK) does support some limited preprocessor features. You can use them to pass in constant values, or to simulate #ifdef / #ifndef type functionality.

Check out this documentation

Example 1:

This code only gets executed if the -define=CONFIG::debugging,true flag is passed to the compiler:

CONFIG::debugging {
    // Execute debugging code here.
}

Example 2:

Change the color of the button depending on if you defined 'CONFIG::release' or 'CONFIG::debugging'

// compilers/MyButton.as
package  {
    import mx.controls.Button;

    CONFIG::debugging
    public class MyButton extends Button {    
        public function MyButton() {
            super();
            // Set the label text to blue.
            setStyle("color", 0x0000FF);
        }
    }

    CONFIG::release
    public class MyButton extends Button {    
        public function MyButton() {
            super();
            // Set the label text to red.
            setStyle("color", 0xFF0000);
        }
    }
}

Just to keep this info here, it is possible to use the C Pre-Processor (CPP) with AS3 if you want to. It provides more powerful features than the ones built into MXMLC, if you need them. Example:

http://osflash.org/flex2cpp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!