package { import flash.events.Event; import org.papervision3d.materials.ColorMaterial; import org.papervision3d.materials.WireframeMaterial; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.objects.primitives.Arrow; import org.papervision3d.objects.primitives.Cone; import org.papervision3d.objects.primitives.Cube; import org.papervision3d.objects.primitives.Cylinder; import org.papervision3d.objects.primitives.PaperPlane; import org.papervision3d.objects.primitives.Sphere; import org.papervision3d.view.BasicView; public class PV3D extends BasicView { /** * 球体 * */ private var sphere:Sphere; /** * 圆柱体 * */ private var cube:Cube; /** * 纸飞机 * */ private var paperPlane:PaperPlane; /** * 圆柱体 * */ private var cylinder:Cylinder; /** * 箭头 * */ private var arrow:Arrow; /** * 圆锥体 * */ private var cone:Cone; public function PV3D() { stage.frameRate = 40; /** * 实例化球体 * */ sphere = new Sphere(null,400,8,6,"sp"); /** * 材质数组 * */ var materialsList:MaterialsList = new MaterialsList(); /** * 颜色材质 * */ var red:ColorMaterial = new ColorMaterial(0xFF0000); var blue:ColorMaterial = new ColorMaterial(0x0000FF); var green:ColorMaterial = new ColorMaterial(0x00FF00); materialsList.addMaterial(red,'front'); materialsList.addMaterial(red,'back'); materialsList.addMaterial(blue,"left"); materialsList.addMaterial(blue,'right'); materialsList.addMaterial(green,'top'); materialsList.addMaterial(green,'bottom'); /** * 实例化立方体 * */ cube = new Cube(materialsList,500,500,500); /** * 实例化纸飞机 * */ var paperPlane:PaperPlane = new PaperPlane(null,8); /** * 实例化圆柱体 * */ cylinder= new Cylinder(null,80,400,8,2,-1,false,true); /** * 实例化箭头 * */ arrow = new Arrow(); /** * 线框材质 * */ var material:WireframeMaterial = new WireframeMaterial(0x000000,0.5,2); /** * 圆锥体 * */ cone = new Cone(material,200,600,8,4); scene.addChild(sphere); scene.addChild(cube); scene.addChild(paperPlane); scene.addChild(cylinder); scene.addChild(arrow); scene.addChild(cone); startRendering(); } /** * 重写渲染功能 * */ override protected function onRenderTick(event:Event=null):void { sphere.localRotationY--; cube.x = 700; cube.localRotationX--; cube.localRotationZ--; cylinder.localRotationY--; super.onRenderTick(); } } }
各个基本体的入门实例
最新推荐文章于 2024-05-27 13:16:19 发布