Bitmap Sequence Motion Sample2
一度はRELATED IMAGESを使ってみたかったので。サンプルです。
時間差をつけてみました。
RELATED IMAGEをクリックして確認してみてください。Bitmap Sequenceになってます。
/**
* Copyright k3lab ( http://wonderfl.net/user/k3lab )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/xjoL
*/
package {
/*
一度はRELATED IMAGESを使ってみたかったので。サンプルです。
時間差をつけてみました。
RELATED IMAGEをクリックして確認してみてください。Bitmap Sequenceになってます。
*/
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.geom.Point;
import flash.geom.Rectangle
import flash.utils.Timer;
import flash.system.LoaderContext;
import flash.display.Loader;
import flash.net.URLRequest;
public class FlashTest extends Sprite {
private var capture:BitmapData;
private var captureArr:Array=[]
private var cnt:int;
private var sp:Sprite;
private var timer:Timer;
private var bd :BitmapData;
public function FlashTest() {
Wonderfl.capture_delay( 1 );
var loader :Loader = new Loader;
loader.load(
new URLRequest('http://assets.wonderfl.net/images/related_images/7/7f/7fba/7fbae69dd9fbec58c396595b7c50dabd24913c2d'),
new LoaderContext( true )
);
loader.contentLoaderInfo.addEventListener( Event.COMPLETE, function(e :Event) :void {
bd = new BitmapData(2400,100);
var bitmap :Bitmap = new Bitmap( bd );
bd.draw( loader );
for (var i:int = 0; i < 5; i++) {
for (var j:int = 0; j < 5; j++) {
capture = new BitmapData(100, 100, false, 0);
captureArr.push({bmd:capture,delay:200*(i+j)})
sp = new Sprite();
sp.x = -15+(100 * i);
sp.y = -15+(100 * j);
addChild(sp);
sp.addChild(new Bitmap(capture)) as Bitmap;
}
}
addEventListener(Event.ENTER_FRAME, loop);
timer = new Timer(1000 /35);
timer.addEventListener(TimerEvent.TIMER,_timer)
timer.start();
});
}
private function _timer(e:TimerEvent):void {
for (var i:int = 0; i < 25; i++) {
(captureArr[i].delay> bd.width-100)?captureArr[i].delay =0:captureArr[i].delay+=100
}
}
private function loop(e:Event):void {
for (var i:int = 0; i < 25; i++) {
captureArr[i].bmd.copyPixels(bd, new Rectangle(captureArr[i].delay, 0, 100, 100), new Point(0, 0));
}
}
}
}