※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!

wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)

 notice: Flash editor updated! Join the development! Thanks to MiniBuilder


FORKED
  1. // forked from shapevent's Black and White Circles
  2. package {
  3.     import flash.display.*;
  4.     import flash.geom.*;
  5.     import flash.events.*;
  6.     [SWF(backgroundColor=0xFFFFFF, width=500, height=500)]
  7.        public class BWCirc extends MovieClip {
  8.            
  9.         private var hsw:Number;
  10.         private var hsh:Number;
  11.         private var pointNum:int;
  12.         private var points3D:Vector.<Number>;
  13.         private var points2D:Vector.<Number>;
  14.         private var uvts:Vector.<Number>;
  15.         private var sorted:Array;
  16.         private var thickness:Vector.<Number>;
  17.         private var radii:Vector.<Number>;
  18.         private var colors:Vector.<uint>;
  19.         private var pnt:Point;
  20.         private var m:Matrix3D;
  21.         private var v:Vector3D;
  22.         private var p:PerspectiveProjection;
  23.         private var proj:Matrix3D;
  24.         private var dx:Number;
  25.         private var dy:Number;
  26.                public function BWCirc(){
  27.                   // init
  28.                      Wonderfl.disable_capture();
  29.              
  30.                       Wonderfl.capture_delay( 0 );
  31.             
  32.             hsw = stage.stageWidth / 2;
  33.             hsh = stage.stageHeight / 2;
  34.             pointNum = 150;
  35.             points3D = new Vector.<Number>();
  36.             points2D = new Vector.<Number>();
  37.             uvts = new Vector.<Number>();
  38.             sorted = [];
  39.             thickness = new Vector.<Number>();
  40.             radii = new Vector.<Number>();
  41.             colors = new Vector.<uint>();
  42.             
  43.             pnt = new Point();
  44.             m = new Matrix3D();
  45.             v = new Vector3D();
  46.             
  47.             for (var i:int = 0; i<pointNum; i++){
  48.                 v.x = Math.random()*1000-500;
  49.                 m.identity();
  50.                 m.appendRotation(Math.random()*360, Vector3D.X_AXIS);
  51.                 m.appendRotation(Math.random()*360, Vector3D.Y_AXIS);
  52.                 m.appendRotation(Math.random()*360, Vector3D.Z_AXIS);
  53.                 v = m.transformVector(v);
  54.                 points3D.push(v.x, v.y, v.z);
  55.                 points2D.push(0,0);
  56.                 uvts.push(0,0,0);
  57.                 sorted.push({});
  58.                 thickness.push(Math.random() * Math.random() * 50 + 4);
  59.                 radii.push(Math.random() * 100 + 10);
  60.                 colors.push([0xFFFFFF, 0x000000][int(Math.random()*2)]);
  61.             }
  62.             points3D.fixed = true;
  63.             points2D.fixed = true;
  64.             uvts.fixed = true;
  65.             thickness.fixed = true;
  66.             radii.fixed = true;
  67.             colors.fixed = true;x
  68.             p = new PerspectiveProjection();
  69.             proj = p.toMatrix3D();
  70.             dx = 0, dy = 0;
  71.             addEventListener(Event.ENTER_FRAME, onLoop);
  72.             
  73.                }
  74.                // private methods
  75.         private function onLoop(evt:Event):void {
  76.             var i:int, j:int;
  77.             dx += (mouseX - dx) / 4;
  78.             dy += (mouseY - dy) / 4;
  79.             m.identity();
  80.             m.appendRotation(dx, Vector3D.Y_AXIS);
  81.             m.appendRotation(dy, Vector3D.X_AXIS);
  82.             m.appendTranslation(001000);
  83.             m.append(proj);
  84.             Utils3D.projectVectors(m, points3D, points2D, uvts);
  85.             for (i = 0, j = 0; i<points2D.length; i+=2, j++){
  86.                 sorted[j].x = points2D[i] + hsw;
  87.                 sorted[j].y = points2D[i + 1] + hsh;
  88.                 sorted[j].z = uvts[j * 3 + 2];
  89.                 sorted[j].color = colors[j];
  90.                 sorted[j].radius = radii[j];
  91.                 sorted[j].thickness = thickness[j];
  92.             }
  93.             sorted.sortOn("z"Array.NUMERIC);
  94.             graphics.clear();
  95.             for(i = 0; i<sorted.length; i++){
  96.                 var element:Object = sorted[i];
  97.                 var zpos:Number = element.z * 18000;
  98.                 graphics.lineStyle(element.thickness, element.color);
  99.                 graphics.drawCircle(element.x, element.y, zpos + element.radius);
  100.                 graphics.endFill();
  101.             }
  102.         }
  103.         
  104.        }
  105. }
noswf

Black and White Circles Colorful Circles [diff(10)]

  1. // forked from shapevent's Black and White Circles
  2. //目にうるさいのができあがった
  3. package {
  4.     import flash.display.*;
  5.     import flash.geom.*;
  6.     import flash.events.*;
  7.     [SWF(backgroundColor=0xFFFFFF, width=500, height=500)]
  8.        public class ColorfulCirc extends MovieClip {
  9.         private var hsw:Number;
  10.         private var hsh:Number;
  11.         private var pointNum:int;
  12.         private var points3D:Vector.<Number>;
  13.         private var points2D:Vector.<Number>;
  14.         private var uvts:Vector.<Number>;
  15.         private var sorted:Array;
  16.         private var thickness:Vector.<Number>;
  17.         private var radii:Vector.<Number>;
  18.         private var colors:Vector.<uint>;
  19.         private var pnt:Point;
  20.         private var m:Matrix3D;
  21.         private var v:Vector3D;
  22.         private var p:PerspectiveProjection;
  23.         private var proj:Matrix3D;
  24.         private var dx:Number;
  25.         private var dy:Number;
  26.                   private var colorList:Vector.<uint>;
  27.                public function ColorfulCirc(){
  28.                   // init
  29.             
  30.             hsw = stage.stageWidth / 2;
  31.             hsh = stage.stageHeight / 2;
  32.             pointNum = 150;
  33.             points3D = new Vector.<Number>();
  34.             points2D = new Vector.<Number>();
  35.             uvts = new Vector.<Number>();
  36.             sorted = [];
  37.             thickness = new Vector.<Number>();
  38.             radii = new Vector.<Number>();
  39.             colors = new Vector.<uint>();
  40.             colorList = new Vector.<uint>();
  41.             colorList.push(0x3333FF, 0xFFFF33, 0xFF3333, 0x33FF33, 0x33FFFF, 0xFF33FF);
  42.             pnt = new Point();
  43.             m = new Matrix3D();
  44.             v = new Vector3D();
  45.             
  46.             for (var i:int = 0; i<pointNum; i++){
  47.                 v.x = Math.random()*1000-500;
  48.                 m.identity();
  49.                 m.appendRotation(Math.random()*360, Vector3D.X_AXIS);
  50.                 m.appendRotation(Math.random()*360, Vector3D.Y_AXIS);
  51.                 m.appendRotation(Math.random()*360, Vector3D.Z_AXIS);
  52.                 v = m.transformVector(v);
  53.                 points3D.push(v.x, v.y, v.z);
  54.                 points2D.push(0,0);
  55.                 uvts.push(0,0,0);
  56.                 sorted.push({});
  57.                 thickness.push(Math.random() * Math.random() * 50 + 4);
  58.                 radii.push(Math.random() * 100 + 10);
  59.                 colors.push(colorList[int(Math.random()*colorList.length)]);
  60.             }
  61.             points3D.fixed = true;
  62.             points2D.fixed = true;
  63.             uvts.fixed = true;
  64.             thickness.fixed = true;
  65.             radii.fixed = true;
  66.             colors.fixed = true;x
  67.             p = new PerspectiveProjection();
  68.             proj = p.toMatrix3D();
  69.             dx = 0, dy = 0;
  70.             addEventListener(Event.ENTER_FRAME, onLoop);
  71.             
  72.                }
  73.                // private methods
  74.         private function onLoop(evt:Event):void {
  75.             var i:int, j:int;
  76.             dx += (mouseX - dx) / 4;
  77.             dy += (mouseY - dy) / 4;
  78.             m.identity();
  79.             m.appendRotation(dx, Vector3D.Y_AXIS);
  80.             m.appendRotation(dy, Vector3D.X_AXIS);
  81.             m.appendTranslation(001000);
  82.             m.append(proj);
  83.             Utils3D.projectVectors(m, points3D, points2D, uvts);
  84.             for (i = 0, j = 0; i<points2D.length; i+=2, j++){
  85.                 sorted[j].x = points2D[i] + hsw;
  86.                 sorted[j].y = points2D[i + 1] + hsh;
  87.                 sorted[j].z = uvts[j * 3 + 2];
  88.                 sorted[j].color = colors[j];
  89.                 sorted[j].radius = radii[j];
  90.                 sorted[j].thickness = thickness[j];
  91.             }
  92.             sorted.sortOn("z"Array.NUMERIC);
  93.             graphics.clear();
  94.             for(i = 0; i<sorted.length; i++){
  95.                 var element:Object = sorted[i];
  96.                 var zpos:Number = element.z * 18000;
  97.                 graphics.lineStyle(element.thickness, element.color);
  98.                 graphics.drawCircle(element.x, element.y, zpos + element.radius);
  99.                 graphics.endFill();
  100.             }
  101.         }
  102.         
  103.        }
  104. }
noswf
Get Adobe Flash Player