Forked from: nutsu's BitmapDataSample5 diff:8 BitmapDataSample6 nutsu forked:5favorite:2lines:55license : MIT License modified : 2009-10-26 19:15:28 Embed Tweet // forked from nutsu's BitmapDataSample5 // forked from nutsu's BitmapDataSample4 // forked from nutsu's BitmapDataSample3 // forked from nutsu's BitmapDataSample1 package { import flash.display.Sprite; import flash.display.BitmapData; import flash.display.Bitmap; import flash.geom.Matrix; import flash.geom.ColorTransform; import flash.display.BlendMode; import flash.events.Event; import flash.events.MouseEvent; [SWF(width=465,height=465,backgroundColor=0,frameRate=30)] public class BitmapDataSample6 extends Sprite { private var bmpdata:BitmapData; private var sprite:Sprite; private var matrix:Matrix; private var colortrans:ColorTransform; private var bmpcolortrans:ColorTransform; public function BitmapDataSample6() { //BitmapDataを作成して表示リストに追加 bmpdata = new BitmapData( 465, 465, false, 0 ); addChild( new Bitmap(bmpdata) ); //グラフィックの生成 sprite = newFig( 0, 0, 40, 0xFFFFFF ); //Matrix,ColorTransformの初期化 matrix = new Matrix(); colortrans = new ColorTransform(); //エフェクトの初期化 bmpcolortrans = new ColorTransform( 0.99, 0.99, 0.999 ); //イベント addEventListener( Event.ENTER_FRAME, enterframe ); stage.addEventListener( MouseEvent.CLICK, reset ); } private function enterframe(e:Event):void { //エフェクトの適用 bmpdata.colorTransform( bmpdata.rect, bmpcolortrans ); //変形 matrix.identity(); var s:Number = Math.random()*2; matrix.scale( s, s ); matrix.rotate( Math.PI * Math.random() ); matrix.translate( mouseX, mouseY ); //色変換 colortrans.greenMultiplier = mouseX / 465; colortrans.blueMultiplier = mouseY / 465; colortrans.alphaMultiplier = Math.random(); //BitmapDataへ描画 bmpdata.draw( sprite, matrix, colortrans, BlendMode.ADD ); } private function reset(e:MouseEvent):void { bmpdata.fillRect( bmpdata.rect, 0xFF000000 ); } private function newFig( cx:Number, cy:Number, size:Number, col:uint ):Sprite { //中心(cx,cy), 幅高さsize, 色col のグラフィックを生成 var shape:Sprite = new Sprite(); shape.graphics.lineStyle( 0, 0x000000, 0.3 ); shape.graphics.beginFill( col ); shape.graphics.drawCircle( cx, cy, size*0.5 ); shape.graphics.drawCircle( cx, cy, size*0.4 ); var w:Number = size * 0.6; var h:Number = size * 0.15; shape.graphics.drawRect( cx - w/2, cy - h/2, w, h ); shape.graphics.endFill(); return shape; } } } Code Fullscreen Preview Fullscreen nunnuc hacker_y4vbj.. BitmapData wonderfl本 ColorTransform greenMultiplier blueMultiplier alphaMultiplier BlendMode.ADD MouseEvent.ENTER_FRAME MouseEvent.CLICK MouseEvent Math.PI Math.random uint Number sort new page view favorite forked pv42 forked from: BitmapDataSample6.. river9116wonf forked:0 favorite:0lines:55 (diff:1) pv22 forked from: BitmapDataSample6.. photomotch forked:0 favorite:0lines:55 (diff:1) pv68 forked from: BitmapDataSample6.. irishoak forked:0 favorite:0lines:55 (diff:1) pv147 forked from: BitmapDataSample6.. hacker_yk666qry forked:0 favorite:0lines:55 (diff:2) pv120 forked from: BitmapDataSample6.. motioneditor forked:0 favorite:0lines:55 (diff:1)