(意味の補集合) DIAMOND(20) 留学生:スペイン人 ┏━━┓ ┃\/┃ DIAMOND(20) 留学生:スペイン人 ┗━━┛ hgw forked:1favorite:8lines:82license : MIT License modified : 2010-05-01 16:24:25 Embed Tweet /* ┏━━┓ ┃\/┃ 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; } } Code Fullscreen Preview Fullscreen tkinjo ibu4gin katapad kitsionchen tmn matacat 178ep3 gupon clone addEventListener splice height Event.ENTER_FRAME length addChild Math.PI push Math.cos Event Math.sin Vector Point Sprite int Number sort new page view favorite forked pv187 forked from: (意味の補集合) DIAMOND(.. nilloc forked:0 favorite:0lines:82 (diff:5)