zoukankan      html  css  js  c++  java
  • Away3d学习笔记4View3D(视口)

    前面<<三维世界的四个基本构件>>将Flash3D影片比喻成电视,力求能形象地阐述Away3D三维世界四个必备"物件"之间逻辑关系。其中"视口"被比喻成电视机屏幕。我们观众就是通过这个屏幕才能看到用摄影机拍摄下来的景物(3D物体)。本篇进一步讲解View3D几个重要的参数设置。

    创建View3D

    Away3D里视口的类名是View3D。与as里创建任何实例一样,先导入View3D类,然后new一下:

    //导入View3D类。

    Import away3d.containers.View3D;

    //设置flash影片大小(在flash可以在修改文档里进行设置)。

    【SWF(width="500",height="400"】

    //new出一个视口

    Var view:View3D=new View3D(camera:cam,scene:sce,x:250,y:200 );

    上句我们看到View3D里有几个参数:camera:cam,scene:sce,x:250,y:200。下面对这四个属性作个解释。

    视口自带的摄像机与场景

    前面的笔记里讲到: Camera, Scene。 与View 和 3D模型并称为三维世界的四个基本构件。在前面的例子中我们用到的Camera, Scene都是新建出来的,实际上,视口View3D自带了摄像机、场景。

    1.Var view:View3D=new View3D(camera:cam,scene:sce,x:250,y:200 );

    2.Cam.z=-1000;

    这句在视口的构造函数里指定使用View 自带的摄像机与场景,且分别取名为擦cam,sce。还有另一种使用自带的默认摄像机与场景:

    3.Var view:View3D=new View3D(x:250,y:200 );

    4.View.camera.z=-1000;

    1,2与3,4效果一样,只是句1给视口自带的Camera命名为Cam,而句4用.View.camera直接引用。同理我们也可以这样应用自带默认的场景:

    View.scene.addChild();

    设置视口位置

    如这句:Var view:View3D=new View3D(camera:cam,scene:sce,x:250,y:200 );将视口放在Flash影片放在点(250,200)上。一般我们希望视口总处于flash影片中央,所以尺寸为500×400的影片,我们要将x,y设为250,200了。

    最后我们讲讲视口大小的设置。

    设置视口大小

    根据不同家庭的不同需要,电视机屏幕有大有小,高宽比也不一样,有5:4、有16:9。同样,有时候我们也需要对视口的高宽进行设置。但视口大小的设置很"非典型"。在As里我们设置一个对象的尺寸都是通过设置对象的Width与Height两个属性的值来实现的,但视口没有Width与Height属性(如果你在代码里设置view.width与view.height不会报错,但不会起作用),但是我们可以用clipping属性对视口进行裁剪从而实现设置其高宽目的

    import away3d.core.clip.RectangleClipping;

    var w:Number=300;

    var h:Number=200;

    //新建一个RectangleClipping类实例myclip,我们就是用myclip裁剪视口的。

    var myClip:RectangleClipping = new RectangleClipping({minX:-w/2,minY:-h/2,maxX:w/2,maxY:h/2});

    view.clipping = myClip;

    这样视口就被设置为宽300px高200px的矩形区域。

  • 相关阅读:
    使用 asp.net mvc和 jQuery UI 控件包
    ServiceStack.Redis 使用教程
    HTC T8878刷机手册
    Entity Framework CodeFirst 文章汇集
    2011年Mono发展历程
    日志管理实用程序LogExpert
    使用 NuGet 管理项目库
    WCF 4.0路由服务Routing Service
    精进不休 .NET 4.0 (1) asp.net 4.0 新特性之web.config的改进, ViewStateMode, ClientIDMode, EnablePersistedSelection, 控件的其它一些改进
    精进不休 .NET 4.0 (7) ADO.NET Entity Framework 4.0 新特性
  • 原文地址:https://www.cnblogs.com/nooon/p/1486696.html
Copyright © 2011-2022 走看看