ゆらぎ
読み込んだ画像をビットマップにドローできん・・・
ローカルではできてたんだけどなぁ・・・
↓
解決した
Related images
ActionScript3 source code
/**
* Copyright curvedstraightline ( http://wonderfl.net/user/curvedstraightline )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/4kqA
*/
/*
読み込んだ画像をビットマップにドローできません・・・
ローカルではできてたんだけどなぁ・・・
*/
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.*;
/**
* ...
* @author curved straight line
*/
[SWF(backgroundColor=0x000000)]
public class Main extends Sprite
{
private const CANVAS_WIDTH:int = stage.stageWidth;
private const CANVAS_HEIGHT: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 Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
stage.quality = StageQuality.LOW;
loadObject();
}
private function loadObject():void
{
ld = new Loader();
ld.load(
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
{
//addChild(ld);
//trace("yes");
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,//BitmapDataChannel.RED,
1,//BitmapDataChannel.GREEN,
(CANVAS_WIDTH/2 - mouseX)*2,//Math.floor(Math.random() * 400),
(CANVAS_HEIGHT/2 - mouseY)*2//Math.floor(Math.random() * 300)
);
v += 12;
canvas_bmd.applyFilter(canvas_bmd, canvas_bmd.rect, new Point(0, 0), displace);
canvas_bmd.unlock();
}
}
}