Title: Lines3D
Line3D demo using BasicView - revision 652 - note: setting the controlVertex in Line3D seems to have no effect
Actionscript:
-
/**
-
* v0.1 code by dehash.com 2008
-
* Released as open source under the BSD License
-
* http://www.opensource.org/licenses/bsd-license.php
-
*/
-
package com.dehash.pv3d.examples.basic
-
{
-
-
import org.papervision3d.core.geom.renderables.Line3D;
-
import org.papervision3d.core.geom.renderables.Vertex3D;
-
import org.papervision3d.materials.special.LineMaterial;
-
import org.papervision3d.view.BasicView;
-
import org.papervision3d.core.geom.Lines3D;
-
import flash.events.Event;
-
-
[SWF(width="800", height="600", backgroundColor="0x000000")]
-
-
public class Lines3DDemo extends BasicView
-
{
-
-
private var lines3D:Lines3D;
-
-
public function Lines3DDemo(viewportWidth:Number = 800, viewportHeight:Number = 600,
-
scaleToStage:Boolean=true, interactive:Boolean=false, cameraType:String="CAMERA3D")
-
{
-
-
super(viewportWidth, viewportHeight, scaleToStage, interactive, cameraType);
-
-
lines3D = new Lines3D(randLineMaterial());
-
-
var v1:Vertex3D = new Vertex3D(0,0,0);
-
-
for(var i:uint = 1; i <20; i++){
-
var line:Line3D = new Line3D(lines3D, randLineMaterial() , 2, v1, randVertex(), randVertex());
-
lines3D.addLine(line);
-
}
-
scene.addChild(lines3D);
-
-
renderer.renderScene(scene, camera, viewport);
-
-
this.startRendering();
-
}
-
-
protected override function onRenderTick(event:Event = null):void {
-
-
lines3D.yaw((mouseY-(stage.stageHeight/2))/(stage.height/2)*5);
-
lines3D.roll((mouseX-(stage.stageWidth/2))/(stage.width/2)*-5);
-
-
renderer.renderScene(scene, camera, viewport)
-
}
-
-
private function randVertex():Vertex3D {
-
return new Vertex3D(randNum(),randNum(),randNum());
-
}
-
-
private function randLineMaterial():LineMaterial {
-
return new LineMaterial(randColor());
-
}
-
-
private function randColor():Number {
-
return Math.floor((Math.random() * 0xFFFFFF));
-
}
-
-
private function randNum():Number {
-
return 800 - (Math.random() * 1600);
-
}
-
}
-
}