forked from: トランジション
パターンは吉里吉里のマスクを使用しています。 読み込むまでに時間がかかる場合があるかもしれません。
♥0 |
Line 117 |
Modified 2011-07-13 02:38:49 |
MIT License
archived:2017-03-20 08:51:00
| (replaced)
ActionScript3 source code
/**
* Copyright simon4761 ( http://wonderfl.net/user/simon4761 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/vGP1
*/
// forked from rsakane's トランジション
/*
* パターンは吉里吉里のマスクを使用しています。
* 読み込むまでに時間がかかる場合があるかもしれません。
*/
package
{
import flash.display.*;
import flash.events.Event;
import flash.geom.*
import flash.net.URLRequest;
import flash.system.LoaderContext;
public class Main extends Sprite
{
private var loader:ImageLoader;
private var images:Array = new Array();
private var bd:BitmapData;
private var maskCount:int = 0;
private var count:int = 0;
private var image:BitmapData;
private var temp:BitmapData;
public function Main()
{
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
loader.load(new URLRequest("http://assets.wonderfl.net/images/related_images/d/d2/d28d/d28d4dcf04a4406a6d98d9eb0c97e55ae1761358"), new LoaderContext(true));
}
private function initHandler(event:Event):void
{
var l:Loader = event.currentTarget.loader;
image = new BitmapData(l.width, l.height, false);
image.draw(l);
loader = new ImageLoader();
loader.addEventListener(Event.COMPLETE, onComplete);
loader.load(URL.DATA);
}
private function onComplete(event:Event):void
{
for (var i:int = 0; i < loader.images.length; i++)
{
var matrix:Matrix = new Matrix();
matrix.scale(image.width / loader.images[i].width, image.height / loader.images[i].height);
var m:BitmapData = new BitmapData(image.width, image.height, false);
m.draw(loader.images[i], matrix);
images.push(m);
}
bd = new BitmapData(image.width, image.height, false);
addChild(new Bitmap(bd));
temp = new BitmapData(image.width, image.height, true);
init();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function init():void
{
count = -1;
maskCount = (maskCount + 1) % URL.DATA.length;
bd.fillRect(bd.rect, 0xFFFFFF);
}
private function onEnterFrame(event:Event):void
{
count += 2;
if (count > 0xFF)
{
if (count < 0xFF + 60) return;
init();
return;
}
var maskbd:BitmapData = images[maskCount];
temp.fillRect(temp.rect, 0x0);
temp.threshold(maskbd, maskbd.rect, new Point(), "<=", count, 0xFF000000, 0xFF);
bd.copyPixels(image, image.rect, new Point(), temp, new Point());
}
}
}
import flash.display.*;
import flash.events.Event;
import flash.net.URLRequest;
import flash.system.LoaderContext;
class ImageLoader extends Sprite
{
public var images:Array = new Array();
public function load(url:Array):void
{
var count:int = 0;
for (var i:int = 0; i < url.length; i++)
{
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT,
function(event:Event):void
{
images.push(event.currentTarget.loader);
if (++count == url.length) dispatchEvent(new Event(Event.COMPLETE));
} );
loader.load(new URLRequest(url[i]), new LoaderContext(true));
}
}
}
class URL
{
public static const DATA:Array =
[
"http://assets.wonderfl.net/images/related_images/1/10/10fb/10fbc051ef8e7fa3275d74ca3cc6e94d47e131cf",
"http://assets.wonderfl.net/images/related_images/b/b7/b74b/b74b4f6bb337b2a8431cb83b159fe4be8f6a49b2",
"http://assets.wonderfl.net/images/related_images/f/f6/f633/f6337382cf2a9b8882e85963a4a9abe6d0caa871",
"http://assets.wonderfl.net/images/related_images/3/3c/3cb6/3cb6fe1915f7e77470c71e28d6dc6b465dd826ce",
"http://assets.wonderfl.net/images/related_images/6/67/6730/6730657ece607aa80877ba1af913af4a17004945",
"http://assets.wonderfl.net/images/related_images/b/b9/b9f5/b9f55242584c7442902ac7651142ba1d0ef2faaa",
"http://assets.wonderfl.net/images/related_images/8/81/8191/8191fed9edd766eb4230765904912eefcd84fdf2",
"http://assets.wonderfl.net/images/related_images/e/e0/e08e/e08ed333ff542b2724c8f3a1044679c00574c330",
"http://assets.wonderfl.net/images/related_images/f/f8/f89b/f89bb078bcb2b13dd54aee3c1f052147697c8ebb",
"http://assets.wonderfl.net/images/related_images/c/ca/ca96/ca96bde67543279be622fa8520f01a922a27a118",
"http://assets.wonderfl.net/images/related_images/d/d0/d009/d0096c053850769b71b6f180e88eab28ee08e9f5",
"http://assets.wonderfl.net/images/related_images/a/a8/a88b/a88b7f8678f190d50595764ecc829e0f272baf85",
"http://assets.wonderfl.net/images/related_images/e/ed/ed58/ed583c913cde20982306bc6879f449bd63697a50",
"http://assets.wonderfl.net/images/related_images/6/62/621b/621bbf4a38394a11506fd5facefa1108eb1ad601",
"http://assets.wonderfl.net/images/related_images/4/4a/4a13/4a13787cc8b9064930a8827026ffde8ca26cdf5f",
"http://assets.wonderfl.net/images/related_images/e/e3/e3ff/e3ff93ac932364b8e3187ca09de2ec32832dd577",
"http://assets.wonderfl.net/images/related_images/5/54/5441/54419036b63566d0f4c8e60027d010affb727bbd",
"http://assets.wonderfl.net/images/related_images/1/15/1524/1524552c787e8ba3a36b64549b555ad1f12f4236",
"http://assets.wonderfl.net/images/related_images/a/a3/a353/a353240d2966ab38e0284ee1dfb31b14309671c5"
];
}
