package { import flash.display.*; import flash.events.*; import flash.filters.*; public class Terrain extends Sprite { public var map:BitmapData; public var bmp:Bitmap; public var sp:Sprite; public var sha:Shape; public function Terrain( w:uint, h:uint ) { graphics.beginFill( 0xDDDDDD, 1 ); graphics.drawRect( 0, 0, w, h ); map = new BitmapData( w, h, true, 0x00000000 ); bmp = new Bitmap( map ); addChild( bmp ); bmp.filters = [ new DropShadowFilter( 10, 120, 0x333333, .5, 2, 6, 2, 3 ) ]; sp = new Sprite(); sha = new Shape(); sp.addChild( sha ); init(); } public function init( e:Event = null ):void { map.fillRect(map.rect, 0x000000); for ( var i:int = 0; i < 50; i++ ) { sha.graphics.beginFill( 0xEEEEEE, 1 ); var X:Number = Math.random() * 350; var Y:Number = Math.random() * 350; var W:Number = Math.random() * 20; var H:Number = Math.random() * 20; sha.graphics.drawRect( 0, 0, W, H ); sha.rotation = Math.random()*360; sha.x = 50 + X; sha.y = 50 + Y; map.draw( sp ); } } } }