WEB开发网
开发学院图形图像Flash Flash AS3.0教程:基本的PV3D程序结构 阅读

Flash AS3.0教程:基本的PV3D程序结构

 2009-12-01 00:00:00 来源:WEB开发网   
核心提示: 现在还需要有一个3D对象,把它显示出来才算成功 ,Flash AS3.0教程:基本的PV3D程序结构(3),PV3D的所有3D对象都是继承自displayObject3D,就像Flash里的 Sprite一样它是最小单位,如果是立方体,就需要六个面的贴图),如果学过面向对象编程,你就会知道父类型

现在还需要有一个3D对象,把它显示出来才算成功 。PV3D的所有3D对象都是继承自displayObject3D,就像Flash里的 Sprite一样它是最小单位。如果学过面向对象编程,你就会知道父类型的变量可以引用子类型的对象。比如MovieClip是Sprite的子类,那下面的代码是成立的:

var temp:Sprite  = new MovieClip();

考虑到程序的通用性,显示对象使用displayObject3D类型,后面初始化时候你可以把它初始化成任意displayObject3D的子类型对象。

光一个3D显示对象还是不够的,它需要有个“皮”,你才能看到它….所以,还需要一个材质贴图(至少需要一个,如果是立方体,就需要六个面的贴图)。PV3D中所有材质贴图的基类是MaterialObject3D。

package {
    import flash.display.Sprite;

    import org.papervision3d.scenes.MovieScene3D;
    import org.papervision3d.cameras.Camera3D;

    import org.papervision3d.core.proto.MaterialObject3D;
    import org.papervision3d.objects.DisplayObject3D;

    import org.papervision3d.materials.WireframeMaterial;
    import org.papervision3d.objects.Sphere;

    public class Main extends Sprite
    {
        private var _container :Sprite;
        private var _scene :MovieScene3D;
        private var _camera :Camera3D;

        private var _material:MaterialObject3D;
        private var _displayObj:DisplayObject3D;

        public function Main()
        {
            // 创建3D舞台的容器
            _container = new Sprite();
            _container.x = 100;
            _container.y = 100;

            //将它显示出来
            addChild( _container );

            // 创建3D舞台
            _scene = new MovieScene3D( _container );

            // 创建摄像头
            _camera = new Camera3D();
            _camera.z = -500;
            _camera.zoom = 5;

            //黑色的线框材质
            _material = new WireframeMaterial(0x000000);

            //球
            _displayObj = new Sphere(_material,  80, 10, 10);

            //把显示对象添加到舞台
            _scene.addChild(_displayObj);

            //把摄像头看到的显示出来
            _scene.renderCamera(_camera);
        }
    }
}

上一页  1 2 3 4  下一页

Tags:Flash AS 教程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接