[練習]pixelDissolveを使ってのBitmap間のつなぎ
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/6Kgs
*/
package {
import flash.geom.Point;
import flash.display.Sprite;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.events.*;
import flash.system.Security;
import flash.display.Loader;
import flash.net.URLRequest;
public class FlashTest extends Sprite {
private var d:int = 0;
private var bd:BitmapData;
private var source1:BitmapData;
private var source2:BitmapData;
private var rect:Rectangle;
private var point:Point;
private var file:String = "http://assets.wonderfl.net/images/related_images/3/37/37f5/37f5f9a17dfa799dadba38e45e568d4da9b4ee23";
private var flie2:String = "http://assets.wonderfl.net/images/related_images/4/46/46b4/46b43fe6e70bed538a247d1cbde929be12baac9e";
private var load2:Loader;
private var content:Bitmap;
private var content2:Bitmap;
private var bmp:Bitmap;
private var num:int = 5;
private var dx:int = 1;
private var dy:int = 1;
private var rand:int = 0;
private var rand2:int = 0;
private var isGazo:String = "hiyoko";
public function FlashTest() {
init();
}//FlashTest
private function init():void{
Security.allowDomain("assets.wonderfl.net");
Security.loadPolicyFile("http://assets.wonderfl.net/crossdomain.xml");
var load:Loader = new Loader();
var url:URLRequest = new URLRequest(file);
load.load(url);
load.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
load2 = new Loader();
var url2:URLRequest = new URLRequest(flie2);
load2.load(url2);
load2.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete2);
}
private function onComplete2(event:Event):void{
content2 = event.target.content;
source2 = new BitmapData(content2.width, 300, false, 0x000000);
source2.draw(content2);
}
private function onComplete(event:Event):void{
content = event.target.content;
bd = new BitmapData(content.width, 300, false, 0xffffff);
source1 = new BitmapData(content.width, 300, false, 0x000000);
source1.draw(content);
rect = new Rectangle(0, 0, 300, 300);
point = new Point(0, 0);
bmp = new Bitmap(source1);
stage.addChild(bmp);
stage.addEventListener(MouseEvent.CLICK, onClick);
}//init
private function onClick(event:MouseEvent):void{
//if(isGazo == "hiyoko"){
stage.addEventListener(Event.ENTER_FRAME, onEnter);
// isGazo = "sakana";
//} else if(isGazo == "sakana"){
// stage.removeEventListener(Event.ENTER_FRAME, onEnter);
// stage.addEventListener(Event.ENTER_FRAME, onEnter2);
// isGazo = "hiyoko";
// }//if
}//onClick
// private function onEnter2(event:Event):void{
// rand2 = source2.pixelDissolve(source1, rect, point, rand, 1000);
// }
private function onEnter(event:Event):void{
rand = source1.pixelDissolve(source2, rect, point, rand, 2000);
/* d += num;
if(d >= 255 || d <=0){
num *= -1;
}//if
bd.copyPixels(source1, rect, point);
bd.merge(source2, rect, point, d, d, d, 1);
bmp.x += dx;
if(bmp.x > stage.stageWidth - bmp.width || bmp.x < 0){
dx *= -1;
}
bmp.y += dy;
if(bmp.y > stage.stageHeight - bmp.height || bmp.y < 0){
dy *= -1;
}
*/
}//onEnter
}//class
}//package