flash on 2011-1-14
♥0 |
Line 92 |
Modified 2011-01-14 20:24:47 |
MIT License
archived:2017-03-30 05:06:25
ActionScript3 source code
/**
* Copyright yama3 ( http://wonderfl.net/user/yama3 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/wlql
*/
package {
import flash.system.LoaderContext;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.BitmapDataChannel;
import flash.display.Loader;
import flash.display.Shape;
import flash.display.Sprite;
import flash.filters.DisplacementMapFilter;
import flash.filters.GlowFilter;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.events.Event;
import flash.display.StageQuality;
import flash.net.URLRequest;
import flash.net.*;
[SWF(backgroundColor = 0x000000)]
public class FlashTest extends Sprite {
private const CANVAS_WIDTH:int = stage.stageWidth;
private const CANVAS_HIGHT:int = stage.stageHeight;
private const CANVAS_COLOR:uint = 0x000000;
private var obj_bmd:BitmapData;
private var obj_bm:Bitmap;
private var canvas_bmd:BitmapData;
private var canvas:Bitmap;
private var c:Shape;
private var map:BitmapData = new BitmapData(CANVAS_WIDTH,CANVAS_HEIGHT);
private var ld:Loader;
public function FlashTest() {
if(stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
stage.quality = StageQuality.LOW;
loadObject();
}
private function loadObject():void
{
ld = new Loader();
ld.load(
new URLRequest("http://wonderfl.net/static/tmp/related_images/5f5798c2740d05774babc5eaecc10f7d19e3cb18m"),
new URLRequest("http://assets.wonderfl.net/images/related_images/5/5f/5f57/5f5798c2740d05774babc5eaecc10f7d19e3cb18"),
new LoaderContext(true)
);
ld.contentLoaderInfo.addEventListener(Event.COMPLETE, drawObject);
}
private function drawObject(e:Event=null):void
{
canvas_bmd = new BitmapData(466, 466);
canvas_bmd.draw(ld);
canvas = new Bitmap(canvas_bmd);
addChild(canvas);
addEventListener(Event.ENTER_FRAME, loop);
}
private var v:Number = 0;
private function loop(e:Event = null):void
{
removeChild(canvas);
canvas_bmd = new BitmapData(ld.width, ld.height);
canvas_bmd.lock();
canvas_bmd.draw(ld);
canvas = new Bitmap(canvas_bmd);
addChild(canvas);
map.perlinNoise
(
map.width,
map.height,
1,
6,
false,
true,
BitmapDataChannel.RED | BitmapDataChannel.GREEN,
false,
[new Point(v,v), new Point(v,v)]
);
var displace:DisplacementMapFilter = new DisplacementMapFilter
(
map,
new Point(0,0),
1,
1,
(CANVAS_WIDTH/2 - mouseX)*2,
(CANVAS_HEIGHT/2 - mouseY)*2
);
v += 12;
canvas_bmd.applyFilter(canvas_bmd, canvas_bmd.rect, new Point(0,0),displace);
canvas_bmd.unlock();
}
}
}