package { import org.papervision3d.core.geom.Lines3D; import org.papervision3d.materials.ColorMaterial; import org.papervision3d.materials.special.LineMaterial; import org.papervision3d.objects.DisplayObject3D; import org.papervision3d.objects.primitives.Sphere; import org.papervision3d.cameras.Camera3D; import flash.media.Camera; import flash.events.Event; import org.papervision3d.view.BasicView; import flash.display.*; /** * @author azupko */ [SWF( backgroundColor='0x888888', frameRate='30', width='1300', height='500')] public class Main extends Sprite { var view : BasicView; public function Main() { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; view = new BasicView(1, 1, true, true); addChild(view); addEventListener(Event.ENTER_FRAME, tick); var lines:Lines3D = new Lines3D(new LineMaterial()); lines.addNewLine(1, 0, 0, 0, 500, 500, 500); var do3d:DisplayObject3D = new DisplayObject3D(); var d2:DisplayObject3D = new DisplayObject3D(); do3d.addChild(d2); d2.addChild(lines); view.scene.addChild(do3d); view.scene.addChild(new Sphere(new ColorMaterial())); } public function tick(e:Event):void { Camera3D(view.camera).hover(0, view.viewport.containerSprite.mouseX/30, view.viewport.containerSprite.mouseY/30); view.singleRender(); } } }