标题: Flash 3D - Away 3D [打印本页] 作者: yeu1233 时间: 2012-8-31 10:25 标题: Flash 3D - Away 3D Flash Player 9实现了许多新的功能,3D就是其中之一。本篇教程将演示如何建立一个逼真的虚拟互动地球,还包括太阳和星空。很难吗?不会,用Away3D来实现很容易!
近来,关于3D的讨论风靡Flash社区。不少3D引擎,各有优缺点。Carlos Pinho为我们列出一张很好的3D引擎清单。本文中,我们将会使用Away3D来实现一个漂亮的场景。
// import the required parts of Away3Dimport away3d.containers.*;import away3d.core.base.*;import away3d.primitives.*;import away3d.materials.*;import away3d.core.utils.Cast;import away3d.cameras.*;// import some filters we'll use laterimport flash.filters.BitmapFilter;import flash.filters.BitmapFilterQuality;import flash.filters.BitmapFilterType;import flash.filters.GlowFilter;定义一些变量来保存旋转,鼠标动作等信息。把下面这些代码也拷进Flash中,放在刚才的Import语句下面。
// Set the scenevar scene:Scene3D = new Scene3D();// Create and set up the cameravar camera:HoverCamera3D = new HoverCamera3D({zoom:2, focus:200, distance:400});camera.targetpanangle = camera.panangle = -180;camera.targettiltangle = camera.tiltangle = 15;camera.yfactor = 1;var view:View3D = new View3D({scene:scene, camera:camera});// Add viewport to the Flash display list so it's visibleaddChild(view);// Adjust viewview.x = 230;view.y = 200;
var view:View3D = new View3D({scene:scene, camera:camera, renderer:Renderer.CORRECT_Z_ORDER});最后的那个参数是使3D引擎以正确方式来处理Z轴排列(Z-sort)。要使用这个参数,我们还需要在代码开始处引入新的类库。
开始创建你自己的3D世界之前,别忘了Flash Player也有它的局限。3D Flash目前还很幼小。Adobe已经开始在Flash Player 10中增加更多的3D功能支持,到时候性能肯定会大大增强。但是目前为止我们还只能限制我们的3D项目规模。我还知道Adobe已经在直接与 Papervision3D和Away3D的开发团队进行沟通。确保这些引擎可以在Flash Player 10发布后,短时间内开始支持新的功能。所以现在我们可以先玩玩,在现有功能中尽情发挥。