Bitmap(Data)とFiltersの練習
♥0 |
Line 42 |
Modified 2011-02-24 22:06:32 |
MIT License
archived:2017-03-20 13:50:30
ActionScript3 source code
/**
* Copyright Nowloading_ ( http://wonderfl.net/user/Nowloading_ )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/4ZvM
*/
package {
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.display.Bitmap;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.filters.BlurFilter;
public class FlashTest extends Sprite {
private var canvas:BitmapData;
private var color:uint;1
private var size:Number = 50;
private var density:Number = 50; //密度
public function FlashTest() {
init();
}
private function init():void{
canvas = new BitmapData(stage.stageWidth,stage.stageHeight,
true,0x00000000);
var bmp:Bitmap = new Bitmap(canvas);
//filtersの設定
bmp.filters = [new BlurFilter(2,2,3)]
addChild(bmp);
stage.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
}
private function onMouseDown(e:MouseEvent):void{
color = Math.random()*0xffffff + 0xff000000;
addEventListener(Event.ENTER_FRAME,onEnterFrame);
}
private function onMouseUp(e:MouseEvent):void{
removeEventListener(Event.ENTER_FRAME,onEnterFrame);
}
private function onEnterFrame(e:Event):void{
for(var i:int = 0; i<density; i++){
var angle:Number = Math.random() * Math.PI*2;
var radius:Number = Math.random() * size;
var xpos:Number = mouseX + Math.cos(angle)*radius;
var ypos:Number = mouseY + Math.sin(angle)*radius;
canvas.setPixel32(xpos,ypos,color);
}
}
}
}