キャストについて試した

by esukei
♥0 | Line 49 | Modified 2009-03-31 20:35:35 | MIT License
play

ActionScript3 source code

/**
 * Copyright esukei ( http://wonderfl.net/user/esukei )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/wQE4
 */

package {
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public var circleA:Circle;
        public var circleB:Circle;
        public var circleC:Circle;
        public function FlashTest() {
            
            // キャストについて試してみたかった
            
            circleA = new Circle(0xff0000);
            circleA.x = 100;
            circleA.y = 100;
            addChild(circleA);
            
            circleB = new Circle2(0x88FF00) as Circle;
            
            if(circleB)
            {
                addChild(circleB);
            
                circleB.x = 200;
                circleB.y = 200;
            }
            circleC = new Circle(circleB.color);
            
            addChild(circleC);
            
            circleC.x = 300;
            circleC.y = 300;
            
            
            
        }
    }
}

import flash.display.Sprite;
class Circle extends Sprite
{
    private var _color:uint;
    
    public function Circle(color:uint = 0x000000)
    {
        _color = color;
        graphics.clear();
        graphics.beginFill(_color, 1.0);
        graphics.drawCircle(0,0,10);
    }
    
    public function get color():uint
    {
        return _color;
    }
}

import flash.display.Sprite;
class Circle2 extends Circle
{
    //private var _color:uint;
    
    public function Circle2(color:uint = 0x000000)
    {
        super(color);
        //_color = color;
        //graphics.clear();
        //graphics.beginFill(_color, 1.0);
        //graphics.drawCircle(0,0,10);
    }
    /*
    public override function get color():uint
    {
        return _color;
    }
    */
}