package { import org.papervision3d.lights.PointLight3D; import org.papervision3d.materials.shadematerials.FlatShadeMaterial; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.materials.WireframeMaterial; import org.papervision3d.objects.primitives.Cube; import org.papervision3d.objects.primitives.Plane; import caurina.transitions.Tweener; public class student_papervision_samples_CF01 extends student_papervision_samples_PaperBase{ private var cube:Cube; private var cube2:Cube; private var mat:FlatShadeMaterial = new FlatShadeMaterial(new PointLight3D(), 0xFFFFFF, 0xFF0000); private var mat2:WireframeMaterial = new WireframeMaterial(0x00FF00); private var plane:Plane = new Plane(null, 2000, 2000, 10, 10); public function student_papervision_samples_CF01() { init(600, 300); } override protected function init3d():void{ cube = new Cube(new MaterialsList( { all: mat } ), 100, 100, 100); cube.y = 0; cube2 = new Cube(new MaterialsList( { all: mat2 } ), 100, 100, 100); cube2.y = 0; cube2.x = 1000; cube2.z = 1000; plane.material.lineColor = 0x777777; plane.material.doubleSided = true; plane.pitch(90); plane.y = -50; default_scene.addChild(plane); default_scene.addChild(cube); default_scene.addChild(cube2); Tweener.addTween(cube, { x:1000, z:1000, time:2, onComplete: randomize } ); default_camera.x = 0; default_camera.z = 1000; default_camera.y = 1000; } public function randomize():void { var xp:Number = (Math.random() * 2000) - 1000; var yp:Number = (Math.random() * 2000) - 1000; Tweener.addTween(cube, { x:xp, z:yp, time:2, onComplete: randomize } ); cube2.x = xp; cube2.z = yp; } override protected function processFrame():void{ default_camera.lookAt(cube); } } }