(意味の補集合) DIAMOND(20) 留学生:スペイン人
┏━━┓
┃\/┃ DIAMOND(20) 留学生:スペイン人
┗━━┛
/**
* Copyright hgw ( http://wonderfl.net/user/hgw )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/lrSR
*/
/*
┏━━┓
┃\/┃ DIAMOND(20) 留学生:スペイン人
┗━━┛
*/
package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.geom.Rectangle;
[SWF(width="465", height="465", backgroundColor="0x0", frameRate="60")]
public class ShapePerceive extends Sprite
{
private var src:BitmapData;
private var canvas:Bitmap;
private var d_cir:Nonble;
public function ShapePerceive()
{
stage.quality = "low";
d_cir = new Nonble();
d_cir.start();
d_cir.x = 465*.5;
d_cir.y = 465*.5;
src = new BitmapData(465,465,true,0x0);
canvas = new Bitmap( new BitmapData(465, 465, true, 0x0) );
addChild( canvas );
addEventListener(Event.ENTER_FRAME, update);
}
private var baff:Vector.<BitmapData> = new Vector.<BitmapData>();
private var ct:ColorTransform = new ColorTransform(1,1,1,.9);
private function update(e:Event):void
{
src.lock();
src.draw( d_cir, d_cir.transform.matrix );
src.colorTransform( src.rect, ct);
src.unlock();
baff.push( src.clone() );
canvas.bitmapData.lock();
for(var i:int=0; i<src.height; i++)
{
if(baff.length-1<i) break;
canvas.bitmapData.copyPixels( baff[i], new Rectangle( 0, i, 465, 1 ), new Point(0,i));
}
canvas.bitmapData.unlock();
if(baff.length>465){
baff.splice(0,1);
}
}
}
}
import flash.display.Graphics;
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.Point;
internal class Nonble extends Sprite
{
private var s:Shape;
private var cnt:Number = 0;
public function Nonble()
{
s = new Shape();
addChild( s );
s.graphics.lineStyle( 1, 0xFFFFFF);
s.graphics.beginFill(0x000000);
s.graphics.drawCircle(0,0,100);
s.graphics.endFill();
}
public function start():void
{
addEventListener( Event.ENTER_FRAME, loop );
}
private function loop(e:Event):void
{
var xn:Number = Math.sin( (2*Math.PI)*cnt );
var yn:Number = Math.cos( (2*Math.PI)*cnt );
s.x = 100*xn;
s.y = 100*yn;
cnt+=.005;
}
}