开发者

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

开发者 https://www.devze.com 2022-12-25 00:34 出处:网络
I\'m looking for a way to do something similar to a c/c++ #define in adobe flex. I\'d like to have lots of different paths a project b开发者_如何学JAVAuild can take depending on wither or not somethi

I'm looking for a way to do something similar to a c/c++ #define in adobe flex.

I'd like to have lots of different paths a project b开发者_如何学JAVAuild can take depending on wither or not something was defined. Does such a thing exist in flex?

I know there is ways to set global variables but that wont really suit my purpose. being able to have structures with numerous #ifndefined and such is really what i'm in need of.

thanks!


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

0

精彩评论

暂无评论...
验证码 换一张
取 消