透明な矩形をBitmapDataで描画してみる。

by taromisako
♥0 | Line 30 | Modified 2010-01-21 21:11:13 | MIT License
play

ActionScript3 source code

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

package {
	
    import flash.display.Sprite;
    import flash.display.*;
    import flash.geom.*;
    import flash.events.*;
    import flash.filters.*;
    import flash.utils.*;
    import flash.geom.*;
    import net.hires.debug.Stats;
    
    [SWF(frameRate="60", width="465", height="465")]
    
    public class FlashTest extends Sprite {
    	
    		// 表示用の透明なBitmapData
		private var bitmapData:BitmapData = new BitmapData(465, 465, true, 0x00000000); 
		private var bitmap:Bitmap = new Bitmap();
    		
    		private var parts:BitmapData = new BitmapData(50, 50, true, 0x22003300);	
    	
        public function FlashTest() {    
			
			// 配置する
			stage.addChild(bitmap);
			
			// Statsを表示
             addChild(new Stats());
			
			// イベントリスナー(昔はメインループって呼んでたなあ…)   
            addEventListener(Event.ENTER_FRAME, draw);
                    
        }
        
        // フレーム毎に行われる処理
        private function draw(e:Event):void {
           
           	// 画面を消去
           	bitmapData.fillRect(new Rectangle(0, 0, 465, 465), 0x00FF0000);
           	        
			var rect:Rectangle = new Rectangle(0, 0, 5, 5);
			 
			for(var i:int=0; i<10000; i++) {                
               var point:Point = new Point(Math.floor(Math.random() * 465), Math.floor(Math.random() * 465));
               bitmapData.copyPixels(parts, rect, point, null, null, true);
            }
					
			// bitmapDataをbitmapに登録する
			bitmap.bitmapData = bitmapData; 
                
        }
        
    }
}

Forked