2010-03-26 34 views
6

Tôi đang tìm cách để làm điều gì đó tương tự như c/C++ #define trong adobe flex.Có thể thực hiện #define trong Adobe Flex không?

Tôi muốn có nhiều đường dẫn khác nhau mà việc xây dựng dự án có thể mất tùy thuộc vào héo hoặc không phải thứ gì đó đã được xác định. Liệu một điều như vậy tồn tại trong flex?

Tôi biết có nhiều cách để đặt các biến toàn cục nhưng điều đó thực sự không phù hợp với mục đích của tôi. có thể có cấu trúc với nhiều #ifndefined và đó thực sự là những gì tôi cần.

cảm ơn!

Trả lời

11

Thực ra MXMLC (trình biên dịch trong Flex SDK) hỗ trợ một số tính năng tiền xử lý hạn chế. Bạn có thể sử dụng chúng để vượt qua các giá trị không đổi, hoặc để mô phỏng chức năng #ifdef/#ifndef.

Check out this documentation

Ví dụ 1:

Mã này chỉ được thực hiện nếu cờ -define=CONFIG::debugging,true được truyền cho các trình biên dịch:

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

Ví dụ 2:

Thay đổi màu sắc của nút tùy thuộc vào nếu bạn đã xác định 'CONFIG :: release' hoặc '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

Rất hay. Tôi không biết bạn có thể làm điều đó! Cảm ơn bạn về thông tin. –

2

Chỉ cần giữ thông tin này ở đây, bạn có thể sử dụng Bộ xử lý trước C (CPP) với AS3 nếu bạn muốn. Nó cung cấp các tính năng mạnh mẽ hơn các tính năng được tích hợp vào MXMLC, nếu bạn cần chúng. Ví dụ:

http://osflash.org/flex2cpp

Các vấn đề liên quan