※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!
wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)
超炫的線條效果Good
perlinNoisebitmapDataDisplacementMapFilterperlin noise
ぐにょーん1 forked from: ぐにょーん1
- // forked from hiro_rec's ぐにょーん1
- package
- {
- import flash.display.Bitmap;
- import flash.display.BitmapData;
- import flash.display.BitmapDataChannel;
- import flash.display.BlendMode;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.filters.BitmapFilterQuality;
- import flash.filters.BlurFilter;
- import flash.filters.DisplacementMapFilter;
- import flash.geom.Point;
- public class Main extends Sprite
- {
- private static const LEVEL:uint = 1;
- private static const BLUR:BlurFilter = new BlurFilter(0, 0, BitmapFilterQuality.LOW);
- private var container:Sprite;
- private var originalBmd:BitmapData;
- private var bmd:BitmapData;
- private var bmp:Bitmap;
- private var radian:Number = .0;
- private var radius:Number = 100.;
- private var sx:Number = .0;
- private var sy:Number = .0;
- [SWF(width="640", height="480",backgroundColor="0x0096ff", frameRate="30")]
- public function Main()
- {
- container = new Sprite();
- addChild(container);
- originalBmd = new BitmapData(stage.stageWidth, stage.stageHeight, false, 0x00CCCCCC);
- var seed:Number = Math.floor(Math.random() * 10);
- var channels:uint = BitmapDataChannel.RED | BitmapDataChannel.GREEN | BitmapDataChannel.BLUE;
- originalBmd.perlinNoise(10, 10, 10, seed, false, true, channels, false, null);
- bmd = originalBmd.clone();
- bmp = new Bitmap(bmd);
- container.addChild(bmp);
- addEventListener(Event.ENTER_FRAME, enterFrameHandler);
- }
- private function enterFrameHandler(event:Event):void
- {
- radian += Math.PI / radius;
- sx += ((stage.stageWidth / 2 - stage.mouseX) * Math.cos(radian) * 10 - sx) * 0.9;
- sy += ((stage.stageHeight / 2 - stage.mouseY) * Math.sin(radian) * 10 - sy) * 0.9;
- bmd.draw(originalBmd);
- var mapFilter:DisplacementMapFilter = new DisplacementMapFilter(bmd, new Point(), BitmapDataChannel.RED, BitmapDataChannel.RED, sx, sy, "wrap", 0, 0);
- bmp.filters = [mapFilter];
- bmd.draw(container);
- bmd.applyFilter(bmd, bmd.rect, new Point(), BLUR);
- bmd.draw(container);
- }
- }
- }
notice: 


