`

actionscript flex 中三维坐标和屏幕(二维)坐标的转换

 
阅读更多
  1. flash.display.DisplayObject  类包含 z 属性和新的旋转和缩放属性,这些属性用于操作 3D 空间中的显示对象。DisplayObject.local3DToGlobal  () 方法提供了一种将 3D 几何图形投影到 2D 平面  的简单方式  。   
    Java代码  收藏代码
    1. // 屏幕坐标系和3D坐标系:   
    2.   
    3. // 将_sprite的(200, 0, 0)的那个点三维点转换成一个二维点   
    4. var p:Point = _sprite.local3DToGlobal(new  Vector3D( 200 0 0 ));  
    5.   
    6. // 二维坐标 转换成 三维坐标   
    7. var p:Vector3D = _sprite.globalToLocal3D(new  Point(mouseX, mouseY));  
    8.   
    9. // pointAt 方法接收一个 Vector3D 对象作为指向的目标,这边设成了鼠标光标   
    10. _sprite.transform.matrix3D.pointAt(new  Vector3D(mouseX, mouseY,  0 ));  
     
  2. flash.geom.Vector3D  类可用作管理 3D 点  的数据结构  。该类还支持矢量数学运算。
  3. flash.geom.Matrix3D  类支持复杂的 3D 几何转换  ,例如旋转、缩放和平移。
  4. flash.geom.PerspectiveProjection  类控制着将 3D 几何图形映射到 2D 视图  的相关参数  。

在 ActionScript 中,有两种不同的模拟 3D 图像的方式:


  1. 在 3D 空间  中排列平面对象并进行动画处理  。这种方式需要使用显示对象的 x、y 和 z 属性来对显示对象进行动画处理,或者使用 DisplayObject 类设置旋转和缩放属性。使用DisplayObject.transform.matrix3D  对象可以实现更为复杂的运动  。DisplayObject.transform.perspectiveProjection  对象可自定义显示对象在 3D 透视  中的绘制方式  。如果需要对主要包含平面的 3D 对象进行动画处理,可以使用这种方式。这种方式的例子包括 3D 图库或者 3D 空间中排列的 2D 动画对象。
  2. 从 3D 几何图形生成 2D 三角形  ,然后用纹理呈现这些三角形。要使用这种方式,必须首先定义和管理有关 3D 对象的数据,然后将这些数据转换成  要呈现的 2D 三角形  。可以将位图纹理映射到这些三角形,然后使用 Graphics.drawTriangles  ()方法将三角形绘制为图形对象。这种方式的例子包括从文件中加载 3D 模型数据  并将模型呈现到屏幕上,或以三角形网格形式生成和绘制 3D 图形。

 

 

 

原帖地址:http://www.4ucode.com/Study/Topic/840272

分享到:
评论
1 楼 roadProgram 2012-08-31  

相关推荐

    paopaolong.rar_actionscript_flex_game_paopaolong

    这一过程涉及数组操作和条件判断,开发者需要维护一个表示泡泡状态的数据结构,例如二维数组,实时更新游戏状态。 游戏过程中还包括得分系统、关卡设计和游戏结束条件。ActionScript 3可以方便地处理这些功能,例如...

    Flex相交线交点位置画曲线

    在二维平面上,我们可以使用几何方法来计算。假设我们有线段AB和CD,我们需要检查它们是否有交点。这通常涉及到计算两条线段的斜率和截距,然后通过比较它们是否在同一象限内以及判断线段的端点是否在对方的两侧来...

    Flex 3D标签云

    Flex 3D标签云是一种在Flex平台上创建动态、立体效果的标签展示技术,它通过将传统的二维标签转换为三维空间中的旋转元素,为用户提供了更直观、更具视觉吸引力的交互体验。这种技术常用于网站、应用程序或者数据...

    GIS画圆的as源码

    本篇文章将详细讲解如何在AS(ActionScript)中实现GIS画圆的功能,同时关注在Flex环境中如何处理投影坐标系转换。 首先,我们需要理解GIS中的坐标系统。地理坐标系(如WGS84)使用经纬度来表示位置,而投影坐标系...

    flex写的贪吃蛇

    1. 绘制网格:使用Flex的绘图API(如Graphics类)绘制二维网格,形成游戏背景。 2. 绘制蛇与食物:同样通过Graphics类,根据蛇和食物的坐标绘制矩形或形状,完成游戏元素的视觉呈现。 六、优化与扩展 1. 性能优化...

    actionscript cook book 中文版

    5.9 存储多维数据:介绍二维及多维数组的创建和操作。 5.10 数组排序:使用sort()对数组进行升序或降序排序。 5.11 自定义排序:覆盖sortOn()实现自定义的排序规则。 5.12 随机排序:使用随机数对数组元素进行随机...

    贝塞尔曲线 ActionScript

    贝塞尔曲线在计算机图形学中是一种非常重要的曲线表示方法,尤其在二维和三维动画制作、游戏开发、用户界面设计等领域有着广泛的应用。ActionScript,作为Adobe Flash和Flex开发的主要编程语言,自然也提供了对...

    Foundation Actionscript 3.0 Animation

    8.3.2二维弹性 8.3.3移动目标点的弹性 8.3.4弹性在哪儿 8.3.5弹性链 8.3.6多目标点弹性 8.3.7目标偏移 8.3.8使用弹性贴加多个物体 8.4本章重点公式 5 8.5小结 第9章碰撞检测 9.1碰撞检测方法 9.2hitTestObjet和...

    3dfz.rar_flash 3d翻转_flash AS 3_flash3d翻转_flash3d翻转效果_flex

    Flash 3D翻转是一种通过编程实现的动画效果,它允许用户从不同角度查看二维图像,从而产生三维立体的感觉。这种效果通常用在图片展示、产品预览或网页互动元素中,为用户提供更直观、更生动的体验。在描述中提到的...

    AR_dev_source

    ActionScript3是Adobe Flash Professional、Flex Builder等工具中的主要编程语言,以其高效性能和面向对象特性而闻名。在AR_dev_source中,FLARToolKit利用ActionScript3的强大力量,实现快速的图像处理和实时交互。...

Global site tag (gtag.js) - Google Analytics