flash on 2010-12-16

by Mushus
♥0 | Line 52 | Modified 2010-12-16 11:21:49 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            // write as3 code here..
            var scr:BitmapScreen = new BitmapScreen(400,300);
            addChild(scr);
            scr.addChild(new Unit(10,10));
        }
    }
}
import flash.geom.Rectangle;
import flash.display.BitmapData;

import flash.display.Bitmap;

//BitmapScreenに表示するもの
class VisibleObject {
    private var _x:int;
    private var _y:int;
    public function VisibleObject(x:int, y:int) {
        _x = x;
        _y = y;
    }
    public function draw(bd:BitmapData):void {
    }
}
//Btimapで画面を作る
class BitmapScreen extends Bitmap {
    private var _width:uint;//
    private var _height:uint;//高さ
    private var visibleObjects:Array = [];//表示するオブジェクト
    
    public function BitmapScreen(width:uint, height:uint) {
        //大きさ設定
        this._width = width;
        this._height = height;
        
        //透明なし黒でビットマップを初期化
        this.bitmapData = new BitmapData(width, height, false, 0);
    }
    public function addChild(vo:VisibleObject):void {
        this.visibleObjects.push(vo);
    }
    public function draw():void {
        var vo:Array = this.visibleObjects;
        var i:int;
        var length:uint = vo.length;
        for(i = 0; i < length; i++) {
            vo[i].draw();
        }
    }
}
class Unit extends VisibleObject {
    public function Unit(x:int, y:int) {
        super(x, y);
    }
    public override function draw(bd:BitmapData):void {
        bd.fillRect(new Rectangle(10,10,20,20),0xffffffff);
    }
}