`

[转]Flash Player 10' s new 3D effects(二)

阅读更多

http://sjkgxf7191.iteye.com/blog/513535

 

目录:

 

Flash Player 10' s new 3D effects(一)

Flash Player 10' s new 3D effects(二)

Flash Player 10' s new 3D effects(三)


参考资料:

 

Adobe ActionScript 3.0 Programming 第二十三章 在三维环境中工作

AdvancED_ActionScript 3.0 第七章 3D IN FLASH 10

 

创建和移动 3D 对象

 

下面的代码设置名为“leaf” 的显示对象的坐标:

Java代码  收藏代码
  1. leaf.x = 100; leaf.y = 50; leaf.z = -30;  

在 leaf 的 Transform 对象的 matrix3D 属性中,可以查看这些值,以及从这些值派生出的属性:

Java代码  收藏代码
  1. var leafMatrix:Matrix3D = leaf.transform.matrix3D;  
  2. trace(leafMatrix.position.x);  
  3. trace(leafMatrix.position.y);  
  4. trace(leafMatrix.position.z);  
  5. trace(leafMatrix.position.length);  
  6. trace(leafMatrix.position.lengthSquared);  

 

在 3D 空间中移动对象

Java代码  收藏代码
  1. var depth:int = 1000;  
  2. function ellipse1FrameHandler(e:Event):void  
  3. {  
  4.     ellipse1Back = setDepth(e, ellipse1Back);  
  5.     e.currentTarget.z += ellipse1Back * 10;  
  6. }  
  7.   
  8. function ellipse2FrameHandler(e:Event):void  
  9. {  
  10.     ellipse2Back = setDepth(e, ellipse1Back);  
  11.     e.currentTarget.z += ellipse1Back * 20;  
  12. }  
  13.   
  14. function setDepth(e:Event, d:int):int  
  15. {  
  16.     if(e.currentTarget.z > depth)  
  17.     {  
  18.         e.currentTarget.z = depth;  
  19.         d = -1;  
  20.     }  
  21.     else if (e.currentTarget.z < 0)  
  22.     {  
  23.         e.currentTarget.z = 0;  
  24.         d = 1;  
  25.     }  
  26. }  

 

在 3D 空间中旋转对象

 

可以通过三种方式旋转对象,具体取决于如何设置对象的旋转属性:rotationX 、rotationY 和 rotationZ 。


将 3D 对象投影到 2D 视图上


flash.geom 包中的 PerspectiveProjection 类提供了一种在 3D 空间中移动显示对象时应用基本透视的简单方式 。
如果未显式创建 3D 空间的透视投影,3D 引擎将使用默认的 PerspectiveProjection 对象,该对象存在于根上并会传播到其所有子项上。
用于定义 PerspectiveProjection 对象如何显示 3D 空间的三个属性是:
• fieldOfView 
• projectionCenter 
• focalLength 
修改 fieldOfView 的值将自动修改 focalLength 的值,反之亦然,因为这两个属性相互依赖 。
在给出 fieldOfView 值的情况下,用于计算 focalLength 属性的公式为:
focalLength = stageWidth/2 * (cos(fieldOfView/2) / sin(fieldOfView/2) 
通常,您需要显式修改 fieldOfView 属性。

 

视野


通过操作 PerspectiveProjection 类的 fieldOfView 属性,可以使逐渐靠近观察者 的 3D 显示对象变大 ,而使逐渐远离观察者的对象变小 。


fieldOfView 属性指定一个介于 0 到 180 度的角度 ,该角度确定透视投影的强度。该值越大 ,沿 z 轴移动的显示对象的扭曲程度就越强 。如果 fieldOfView 值较小,则缩放程度较低,从而使对象在空间中只稍稍后移。如果 fieldOfView 值较大,则会导致较大的扭曲,并出现较大的移动。如果达到最大值 180 度,则会出现极端的鱼眼照相机镜头效果。

 

投影中心


projectionCenter 属性表示透视投影的消失点 。该属性作为相对于舞台左上角 默认注册点 (0,0) 的偏移量 。


当对象逐渐远离观察者时,该对象将朝消失点倾斜直到最终消失 。想象一下无限长的走廊。当朝走廊远处看时,两边的墙壁将聚合到走廊远处的消失点。


如果消失点位于舞台的中心,则走廊将消失于该中心点。projectionCenter 属性的默认值是舞台的中心 。

 

焦距


focalLength 属性表示视点原点 (0,0,0) 显示点在 z 轴上的位置 之间的距离 。


较长的焦距 相当于视野较窄、对象间距离经过压缩的摄远镜头 。较短的焦距 相当于广角镜头 ,可获得较宽的视野和较大的扭曲。中等的焦距 相当于肉眼 所见的效果。


通常,当显示对象移动时, focalLength 属性会在透视转换过程中动态地重新进行计算 ,不过您可以显式设置该属性。

 

默认透视投影值


在根上创建的默认 PerspectiveProjection 对象具有以下值:
• fieldOfView : 55
• perspectiveCenter : stagewidth/2, stageHeight/2
• focalLength : stageWidth/ 2 * ( cos(fieldOfView/2) / sin(fieldOfView/2) )

 


 

示例:透视投影:

 

见附件压缩包

分享到:
评论

相关推荐

    怎样在Ubuntu Linux上安装最新的FlashPlayer 10

    在安装完成后,可以在浏览器中打开相关网站来检测当前的 FlashPlayer 版本,如果安装正确的话,应该显示版本号为 LNX 10,2,151,49。 需要注意的是,这个版本只支持 32 位机器。 Adobe 公司的 FlashPlayer 是一个...

    Flash_player_10_ActiveX插件For IE

    Flash Player 10 ActiveX 插件是针对Internet Explorer浏览器的一款关键组件,它使得用户能够在网页上顺畅地播放Flash内容,如动画、游戏、视频和交互式应用程序。这个插件在互联网的早期阶段尤其重要,因为当时许多...

    FlashPlayer10

    FlashPlayer10是一款由Adobe公司开发的用于网页浏览器的插件,它允许用户在互联网上享受丰富的交互式内容,如动态图形、动画、视频和音频。这款软件在2008年发布,是Flash Player历史上的一个重要版本,因为它引入了...

    flashplayer_10_sa SWF动画播放工具 本地播放

    标题中的“flashplayer_10_sa”指的是Adobe Flash Player的一个特定版本,主要针对SWF文件进行本地播放。SWF(Small Web Format)是Adobe Flash创作的动画或应用程序的文件格式,广泛应用于网页上的互动内容,如游戏...

    swf文件播放器Adobe Flash Player珍藏版Adobe Flash Player中文电脑版v10.3.181.22

    Adobe Flash Player中文电脑版是一款一种广泛使用的、专有的多媒体程序播放器。它最初由Macromedia编写,在Macromedia被Adobe收购后由Adobe继续开发并分发。Adobe Flash Player最初设计目的为播放2维向量动画,但...

    flashplayer10-3_b1_activex_030811

    "flashplayer10-3_b1_activex_030811"是Flash Player的一个特定版本,发布于2011年3月8日,主要面向Windows操作系统,因为文件名中的“activex”意味着它是一个ActiveX控件。 ActiveX是微软为Internet Explorer...

    \flashplayer10

    \flashplayer10\flashplayer10

    Win10完全卸载和删除自带Adobe Flash Player操作下载

    Win10完全卸载和删除自带Adobe Flash Player操作下载 在Windows 10操作系统中,Adobe Flash Player是预安装的组件,但是在2021年,Adobe官方宣布停止支持Flash Player 387版本以上的版本,意味着用户不能继续使用新...

    flashplayer V10.1.85

    **FlashPlayer V10.1.85:深入解析与应用** FlashPlayer V10.1.85 是一个重要的软件版本,它属于Adobe Flash Player系列,是互联网上广泛使用的多媒体内容播放器。这款软件的核心功能是播放含有Flash技术的交互式...

    flash_player_10

    在Flash Player 10时代,它引入了一些关键特性,如Stage3D(增强了硬件加速图形渲染),以及改进的ActionScript 3.0性能,使得开发者能够创建更复杂的互动应用。然而,随着HTML5的兴起和对更开放标准的需求,Adobe于...

    Install_Flash_Player_10_ActiveX

    标题"Install_Flash_Player_10_ActiveX"表明我们讨论的是Flash Player的第10个版本,专为ActiveX技术设计的安装程序。ActiveX是微软提出的一种组件对象模型,常用于Internet Explorer浏览器,允许网页加载和运行外部...

    64位浏览器的flash插件下载(flashplayer for 64-bit browser)

    在提供的压缩包文件 "flashplayer10_2_p3_64bit_activex_111710.exe" 中,我们可以看到这是一款ActiveX版本的Flash Player,适用于使用Internet Explorer或其他支持ActiveX控件的64位浏览器。文件名中的数字部分(如...

    flashplayer_10_ax_debug

    标题“flashplayer_10_ax_debug”指的是Adobe Flash Player的ActiveX版本的调试器,用于在2011年发布时的最新版本。Flash Player是一款广泛使用的浏览器插件,允许用户在网页上运行富互联网应用程序(RIA),播放...

    Flash Player 卸载工具 Adobe Flash Player Uninstaller 34.0.0.92.rar

    Adobe Flash Player是一款曾经广泛应用于网页浏览器的多媒体播放器,它支持播放动画、视频、音频以及交互式内容。然而,随着技术的发展,特别是HTML5的普及,Flash Player的重要性逐渐下降,且由于安全问题,Adobe...

    Macromedia Flash Player 8.0 r22

    很多的朋友反映,将喜欢的Flash动画下载到自己的电脑后总是用IE浏览器或者第三方Flash播放器才能观看,感觉不好,希望用Macromedia的Flash Player播放,可是又很难找到!现在我就发一个最新版本的给大家!不过请注意...

    flashplayer10_1_p3_activex_022310

    标题“flashplayer10_1_p3_activex_022310”指的是Adobe Flash Player的一个特定版本,这是 Adobe 公司开发的一款用于在网页上播放Flash内容的浏览器插件。这个版本号(10.1.3)表明它是2010年2月23日发布的一个更新...

    flashplayer-34.0.0.289独立版

    标题中的“flashplayer-34.0.0.289独立版”指的是Adobe Flash Player的一个特定版本,这是Adobe公司开发的一款广泛应用于网络上的多媒体内容播放器。Flash Player的主要功能是解析和执行SWF文件,这种文件格式通常...

    FlashPlayer Linux插件

    FlashPlayer是一款广泛应用于各种操作系统,包括Linux的网页多媒体播放器,尤其在早期互联网时代,它对于观看在线视频、玩Flash游戏以及使用含有Flash元素的网页应用至关重要。标题提到的"FlashPlayer Linux插件",...

Global site tag (gtag.js) - Google Analytics