2015-05-09 45 views
1

Color這在AS3中可能嗎?

public class Color { 

    public static const Black:uint = 0x000000; 
    public static const White:uint = 0xffffff; 

    public static const Red:uint = 0xff0000; 
    public static const Blue:uint = 0x0000ff; 
    public static const Green:uint = 0x008000; 

    public var code:uint; 
    public var family:String; 

    public function Color():void {} 

} 

Main.as

public class Main extends Sprite 
{ 

    public function Main() { 
     var red:Color = new Color(); 
     red.code = Color.Red; 
     trace(red); 
    } 

如何使trace(red)輸出爲0xFF0000

回答

3

覆蓋toString()爲類。

override public function toString():String { 
    return "Ox"+code.toString(16); 
} 

在一個側面說明:您public function Color()不應該返回void,而不是離開它沒有返回類型。另外,您的red變量Main未初始化。代碼應爲var red:Color=new Color();

+0

該類的toString()類尚未存在,所以應將override替換爲 –

+0

任何對象都從Object繼承'toString()'。 – Vesper

+0

這就是吸氣劑。我忘了問:二傳手怎麼樣? –