flash on 2010-9-10

by Tamanegi_kenshi
♥0 | Line 68 | Modified 2010-09-12 08:24:54 | MIT License
play

ActionScript3 source code

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

package {
    import flash.events.*;
    import flash.display.Sprite;
    import flash.display.BitmapData;
    import flash.display.Bitmap;
    import flash.geom.Matrix;
    import flash.geom.ColorTransform;
    import flash.filters.BlurFilter;    
    import flash.geom.Point;
    
    public class FlashTest extends Sprite {
        
        private var bd:BitmapData;
        private var bt:Bitmap;
        private var matrix:Matrix;
        private var ball:Ball;
        private var colortrans:ColorTransform;
        private var filter:BlurFilter;     
        private var sp:Sprite;
        private var angle:int = 0;
        private var circleX:Number = 0;
        public function FlashTest() {
            init();
            
        }//Flashtest
        private function init():void{
            sp = new Sprite();
            
            bd = new BitmapData(465, 465, false, 0x000000);
            bt = new Bitmap(bd);
            addChild(bt);
            
            ball = new Ball(0xffffff);
            
            matrix = new Matrix();
            colortrans = new ColorTransform();
            filter = new BlurFilter(2, 3, 1);
           
           // stage.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
           // stage.addEventListener(MouseEvent.MOUSE_UP, onUp);
            stage.addEventListener(MouseEvent.DOUBLE_CLICK, onClick);
           stage.addEventListener(Event.ENTER_FRAME, onEnter);
           
        }
        private function onClick(e:MouseEvent):void{
            
            bd.fillRect(bd.rect, Math.random() * 0xffffff);
            
        }

      //  private function onDown(e:MouseEvent):void{
       //     stage.addEventListener(MouseEvent.MOUSE_MOVE, onEnter);
      //  }
      //  private function onUp(e:MouseEvent):void{
      //      stage.removeEventListener(MouseEvent.MOUSE_MOVE, onEnter);
      //  }

        

        private function onEnter(e:Event):void{
           
           
           
           var radian:Number = angle * Math.PI / 180;
           ball.x = 232 + Math.cos(radian) * circleX;
           ball.y = 232 + Math.sin(radian) * circleX;
           angle += 1;
           circleX += 0.1
           if(circleX > 200){
               circleX = 200;
           }

            matrix.identity();
            var s:Number = 1;
            matrix.scale(s, s);
            matrix.rotate(Math.PI * Math.random());
            matrix.translate(ball.x, ball.y);
            
            colortrans.greenMultiplier = mouseY / 465;
            colortrans.blueMultiplier = 0;
            colortrans.redMultiplier = mouseX / 465;
            colortrans.alphaMultiplier = Math.random();
           
            // BitmapDataへ描画
            
            bd.draw(ball, matrix, colortrans);
            
            //フィルター
            bd.applyFilter(bd, bd.rect, new Point(0, 0), filter);

        }

    }
}
import flash.display.Sprite;
class Ball extends Sprite{
    public function Ball(color:uint){
        graphics.beginFill(color);
        graphics.drawCircle(0, 0, 10);
        graphics.endFill();
        
    }

}