2015-05-09 67 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

这就是吸气剂。我忘了问:二传手怎么样? –