2010-03-26 11 views
6

Sto cercando un modo per fare qualcosa di simile a un c/C++ #define in adobe flex.È possibile eseguire un #define in Adobe Flex?

Mi piacerebbe avere un sacco di diversi percorsi che una costruzione di un progetto può richiedere a seconda di wither o non è stato definito qualcosa. Esiste una cosa del genere in flex?

So che ci sono modi per impostare le variabili globali ma che non si adatta al mio scopo. essere in grado di avere strutture con numerosi #ifndefined e tale è davvero ciò di cui ho bisogno.

grazie!

risposta

11

In realtà MXMLC (il compilatore in Flex SDK) supporta alcune funzionalità del preprocessore limitato. Puoi usarli per passare valori costanti o per simulare la funzionalità di tipo #ifdef/#ifndef.

Check out this documentation

Esempio 1:

Questo codice solo si eseguito se viene passato il flag -define=CONFIG::debugging,true al compilatore:

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

Esempio 2:

Cambiare il colore della pulsante a seconda se è stato definito 'CONFIG :: release' o '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); 
     } 
    } 
} 
+0

Molto interessante. Non sapevo che potessi farlo! Grazie per le informazioni. –

2

Giusto per mantenere queste informazioni qui, è possibile utilizzare il Pre-Processore C (CPP) con AS3 se si desidera. Fornisce funzionalità più potenti di quelle integrate in MXMLC, se ne hai bisogno. Esempio:

http://osflash.org/flex2cpp

Problemi correlati