シュールなAS3.0 #3 スプライトの謎

by ultraTakePon
超初心者の実験と備忘録。
原点、width、height、スケール。
♥0 | Line 29 | Modified 2011-08-22 23:31:56 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.DisplayObjectContainer;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
           // 自身をDisplayObjectContainerとして引数に渡す
           // その先で子に加えたりしてみる
           // 描画した順序とか表示リストに追加とかをごっちゃにする感じ
           // 親子関係を理解していれば
           (this as DisplayObjectContainer);
           // ×③番目?? ○②番目
           this.graphics.beginFill(0x00FF00);
           this.graphics.drawRect(50,50,100,100);
           this.graphics.endFill();
           
           // ↓自分の子として自分を加える??もちろん不可能(笑い ※ビルドエラー
           //this.addChild(this as DisplayObject);
           
           var sprite:Sprite = new Sprite();
           sprite.graphics.beginFill(0xFF0000);
           sprite.graphics.drawCircle(20,20,100);
           sprite.graphics.endFill();
           this.addChildAt(sprite, 0);
        }
        public function (doc:DisplayObjectContainer):void
      {
          // ①番目に描画される黒い円
            this.graphics.beginFill(0x0);
            this.graphics.drawCircle(40,40,100);
            this.graphics.endFill();
            
            // ×②番目?? ○③番目
            var sprite:Sprite = new Sprite();
            sprite.graphics.beginFill(0xFF);
            sprite.graphics.drawRect(30,30,50,50);
            sprite.graphics.endFill();
            doc.addChild(sprite);    // 一番上?のスプライトの子として追加
            sprite.addChild(doc);    // この関数内でインスタンス化したスプライトの子として一番上?のスプライトを追加
        }
    }
}