目录:
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” 的显示对象的坐标:
leaf.x = 100; leaf.y = 50; leaf.z = -30;
在 leaf 的 Transform
对象的 matrix3D
属性中,可以查看这些值,以及从这些值派生出的属性:
var leafMatrix:Matrix3D = leaf.transform.matrix3D;
trace(leafMatrix.position.x);
trace(leafMatrix.position.y);
trace(leafMatrix.position.z);
trace(leafMatrix.position.length);
trace(leafMatrix.position.lengthSquared);
在 3D 空间中移动对象
var depth:int = 1000;
function ellipse1FrameHandler(e:Event):void
{
ellipse1Back = setDepth(e, ellipse1Back);
e.currentTarget.z += ellipse1Back * 10;
}
function ellipse2FrameHandler(e:Event):void
{
ellipse2Back = setDepth(e, ellipse1Back);
e.currentTarget.z += ellipse1Back * 20;
}
function setDepth(e:Event, d:int):int
{
if(e.currentTarget.z > depth)
{
e.currentTarget.z = depth;
d = -1;
}
else if (e.currentTarget.z < 0)
{
e.currentTarget.z = 0;
d = 1;
}
}
在 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) )
示例:透视投影:
见附件压缩包
- 大小: 61.3 KB
分享到:
相关推荐
\flashplayer10\flashplayer10
flashplayer_10_ax_debugflashplayer_10_ax_debugflashplayer_10_ax_debugflashplayer_10_ax_debugflashplayer_10_ax_debug
Flash Player离线安装包下载
最新flashplayer离线安装包下载
FlashPlayer11-5安装包FlashPlayer11-5安装包FlashPlayer11-5安装包FlashPlayer11-5安装包
FlashPlayer10 支持flash播放,很好用,很方便,谢谢下载!
flashplayer V10.1.85,单文件运行
install_flash_player_10_active_xvinstall_flash_player_10_active_xinstall_flash_player_10_active_xinstall_flash_player_10_active_xinstall_flash_player_10_active_xinstall_flash_player_10_active_xinstall...
flashplayer_10_ax_debug flashplayer_10_sa flashplayer_10_sa_debug
flashplayer_10_sa SWF动画播放工具 本地播放
FlashPlayer created with delphi 7
很多的朋友反映,将喜欢的Flash动画下载到自己的电脑后总是用IE浏览器或者第三方Flash播放器才能观看,感觉不好,希望用Macromedia的Flash Player播放,可是又很难找到!现在我就发一个最新版本的给大家!不过请注意...
flashplayer11_b1_install_win_ie32_071311flashplayer11_b1_install_win_ie32_071311flashplayer11_b1_install_win_ie32_071311flashplayer11_b1_install_win_ie32_071311flashplayer11_b1_install_win_ie32_071311...
Adobe Flash Player(Flash Player官方下载)是一个集成的多媒体播放器,让你在Web上享受更广泛的多媒体体验。Adobe Flash Player官方版可显示和播放多媒体内容,从数以千计的高度交互性的flash player下载,到有音频...
flashplayer_10.exe 不错的播放工具
install_flash_player_10
众所周知 adobe flash player 已被苏-州-思-杰-马-克-丁-代-理 在flash临死前打捞一笔 目前最新版本31 会弹出 ff资讯弹窗 Flash Helper Service服务后台常驻 收集用户隐私 如果禁止 flash将不可用 现在我收集了...
flashplayer10_1_p3_activex_022310.exe