In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

Flash勉強会

Get Adobe Flash player
by cielan 29 Mar 2010
    Embed
/**
 * Copyright cielan ( http://wonderfl.net/user/cielan )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/9Guj
 */

package {
    import __AS3__.vec.Vector;
    import flash.events.Event;
    import flash.filters.*;
    
    import frocessing.color.ColorHSV;
    
    import org.papervision3d.cameras.*;
    import org.papervision3d.core.geom.Lines3D;
    import org.papervision3d.core.geom.renderables.Line3D;
    import org.papervision3d.core.geom.renderables.Vertex3D;
    import org.papervision3d.materials.ColorMaterial;
    import org.papervision3d.materials.special.LineMaterial;
    import org.papervision3d.objects.primitives.*;
    import org.papervision3d.view.BasicView;
    
    [SWF(backgroundColor=0x000000)]
    public class FlashTest extends BasicView
    {
		private var sphere:Sphere;
		
		private var lines:Lines3D;
		
		private var p:Number = 5.0, r:Number = 25.0, b:Number = 8.0/3.0, D:Number = 0.01;
		
		private var toX:Number, toY:Number, toZ:Number;
		
		private var hsv:ColorHSV;
		    	
		private var glow:GlowFilter;
		
		private var particles:Vector.<Plane>;
    	
        public function FlashTest()
        {
            super(640, 480, true, false, CameraType.SPRING);
            
            hsv = new ColorHSV(0, 1, 1);
            glow = new GlowFilter(0, 1, 8, 8, 2);
            toX = toY = toZ = 1;
            particles = new Vector.<Plane>;
            
            var mat:ColorMaterial = new ColorMaterial(0xFFFFFF);
            sphere = new Sphere(mat, 3);
            sphere.x = sphere.y = sphere.z = 1;
            scene.addChild(sphere);
            
            lines = new Lines3D;
            scene.addChild(lines);
            
            //sphereをエフェクト有効化
            var blur:BlurFilter = new BlurFilter();
            sphere.filters = [blur, glow];
            
            //カメラ
            
            startRendering();
            
            addEventListener(Event.ENTER_FRAME, onFrame);
        }
        
        private function onFrame(event:Event):void
        {
        		var fromX:Number = sphere.x;
        		var fromY:Number = sphere.y;
        		var fromZ:Number = sphere.z;
        		
        		var dx:Number, dy:Number, dz:Number;
        		
        		dx = -p * toX + p * toY;
        		dy = -toX * toZ + r * toX - toY;
        		dz = toX * toY - b * toZ;
        		
        		toX += D * dx;
        		toY += D * dy;
        		toZ += D * dz;
        		
        		sphere.x = toX * 20;
        		sphere.y = toY * 20;
        		sphere.z = toZ * 20;
        		
        		var color:uint = hsv.toRGB().value;
        		var l_mat:LineMaterial = new LineMaterial(color);
        		var fromV:Vertex3D = new Vertex3D(fromX, fromY, fromZ);
        		var toV:Vertex3D = new Vertex3D(sphere.x, sphere.y, sphere.z);
        		var line:Line3D = new Line3D(lines, l_mat, 2, fromV, toV);
        		
        		lines.addLine(line);
        		
        		glow.color = color;
        		
        		for (var j:int = 0; j < 3; j++)
        		{
        			var mat:ColorMaterial = new ColorMaterial(color);
        			//
        			var p:Plane = new Plane(mat, 1, 1);
        			
        			
        		}
        }
    }
}