Something for the Friday mess around... http://www.allforthecode.co.uk/development/away3d/WhyUseLines/
<?xml version='1.0' encoding='utf-8'?> <mx:Application xmlns:mx='http://www.adobe.com/2006/mxml' layout='absolute' addedToStage='init()' frameRate='30' backgroundColor="0x000000" > <mx:Script> <![CDATA[ import mx.effects.Glow; import away3d.materials.WireframeMaterial; import away3d.core.base.Vertex; import away3d.primitives.LineSegment; import away3d.core.geom.Line2D; import away3d.primitives.Trident; import away3d.materials.TransformBitmapMaterial; import away3d.core.utils.Cast; import away3d.primitives.Plane; import away3d.core.utils.Debug; import away3d.primitives.Cone; import away3d.lights.DirectionalLight3D; import away3d.debug.AwayStats; import away3d.core.math.Number3D; import away3d.events.MouseEvent3D; import away3d.materials.BitmapMaterial; import away3d.primitives.Cube; import away3d.primitives.Sphere; import away3d.containers.View3D; import away3d.cameras.Camera3D; import away3d.containers.Scene3D; import away3d.debug.AwayStats; import com.greensock.TweenLite; import com.greensock.easing.*; import mx.managers.SystemManager; import mx.core.UIComponent; // -------------------------------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------------------------------- // Basic vars private var _stage:Stage; // Away3D private var scene:Scene3D; private var camera:Camera3D; private var view:View3D; private var lightDirect:DirectionalLight3D; private var away3DSetup:Away3DSetup; private var renderHandler:RenderHandler; // Primitives private var globe:Sphere; private var centerCube:Cube; // -------------------------------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------------------------------- public function init():void { // setup stage stage.quality = StageQuality.LOW; // Var ini _stage = this.stage; // Setup Away3D away3DSetup = new Away3DSetup(_stage); camera = away3DSetup.camera scene = away3DSetup.scene view = away3DSetup.view lightDirect = away3DSetup.lightDirect; away3DContainer.addChild(view); // away stats away3DStatsContainer.addChild( new AwayStats(view) ); // trident var t:Trident = new Trident(100,true); t.ownCanvas = true; t.alpha = 0.5; view.scene.addChild(t); // Render handler renderHandler = new RenderHandler(_stage,view,scene,camera,lightDirect); var c:Cube = new Cube(); c.width = 10; c.height = 10; c.depth = 10; c.ownCanvas = true; c.alpha = 0.5; view.scene.addChild(c); drawLines(); } // -------------------------------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------------------------------- private function drawLines():void { var glow:GlowFilter = new GlowFilter(0xFFFFFF,1,30,30,10,1); var filters:Array = [glow]; for (var i:uint = 0; i<= 20; i++) { var nAngleStep:Number = 360/10; var nX:Number = Math.sin( i ) * nAngleStep; var nZ:Number = Math.cos( i ) * nAngleStep; var ls:LineSegment = new LineSegment(); ls.start = new Vertex(0,0,0); ls.end = new Vertex(nX,100,nZ); ls.material = new WireframeMaterial(0xFFFFFF); ls.ownCanvas = true; ls.filters = filters; view.scene.addChild(ls); TweenIt(ls); } } // -------------------------------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------------------------------- private function TweenIt(ls:LineSegment):void { var rX:Number = ls.rotationX+(Math.random()*100); var rY:Number = ls.rotationY-(Math.random()*100); var rZ:Number = ls.rotationY+(Math.random()*100); TweenLite.to(ls,2,{ rotationX:rX, rotationY:rY, rotationZ:rZ, onComplete:TweenIt,onCompleteParams:[ls]}); } // -------------------------------------------------------------------------------------------------------------- ]]> </mx:Script> <mx:UIComponent id='away3DContainer' visible='true'/> <mx:UIComponent id='away3DStatsContainer' visible='true'/> <mx:Label text="[email protected] Developer Tests 2010" visible="true" bottom="10" left="10" fontSize="14" color="0xFFFFFF" fontWeight="bold"/> </mx:Application> D
