在平面上按住鼠标左键可以拉框:
原理是获取坐标的坐标,实时绘制一个立方体,这个例子是想说明:3d物体也没什么神奇的,就是定义几个顶点的
坐标就可以了,要想使物体形变,也可以通过修改坐标来实现。
主要代码如下:
/* 注册事件*/
addEventListener(MouseEvent.MOUSE_UP, removeDragListener);
addEventListener(MouseEvent.MOUSE_DOWN, setDragListener);
private function setDragListener(evt:MouseEvent=null):void
{
pt1=getMousePointOnFloor();//使用方法一
// var intersect:Number3D=getMousePointOnFloor2();//使用方法二
addEventListener(MouseEvent.MOUSE_MOVE, move3DMap);
}
private function move3DMap(evt:MouseEvent=null):void{
pt2=getMousePointOnFloor();//使用方法一
// cube.position=new Number3D((pt2.x+pt1.x)/2,(pt2.y+pt1.y)/2,0);
var v4:Vertex3D = cube.geometry.vertices[4];
var v5:Vertex3D = cube.geometry.vertices[5];
var v6:Vertex3D = cube.geometry.vertices[6];
var v7:Vertex3D = cube.geometry.vertices[7];
v6.x =pt2.x; v6.y =pt2.y ;
v5.x =pt1.x; v5.y =pt1.y ;
v4.x=v5.x; v4.y=v6.y;
v7.x=v6.x; v7.y=v5.y;
var v0:Vertex3D = cube.geometry.vertices[0];
var v1:Vertex3D = cube.geometry.vertices[1];
var v2:Vertex3D = cube.geometry.vertices[2];
var v3:Vertex3D = cube.geometry.vertices[3];
v0.x=v6.x;v0.y=v6.y;v0.z=-v6.z;
v1.x=v7.x;v1.y=v7.y;v1.z=-v7.z;
v2.x=v4.x;v2.y=v4.y;v2.z=-v4.z;
v3.x=v5.x;v3.y=v5.y;v3.z=-v5.z;
cube.visible=true;
}
private function removeDragListener(evt:MouseEvent=null):void
{
removeEventListener(MouseEvent.MOUSE_MOVE, move3DMap);
}
分享到:
相关推荐
Papervision3D是一个开源的ActionScript 3库,允许开发者在Adobe Flash Player环境中创建复杂的3D场景。它支持硬件加速,提供了丰富的功能,包括光照、纹理、动画和物理模拟等,使得在Web上创建沉浸式3D应用成为...
通过学习,读者能够理解如何构建3D场景,添加物体,设置光照效果,以及如何利用Papervision3D库中的类和方法来实现各种3D功能。 "源码"标签提示我们,这本书不仅提供了理论知识,还附带了实际的代码示例。这些代码...
2. 对象加载与渲染:API文档会讲解如何加载3D模型(如Collada或3DS格式),以及如何将它们添加到场景中进行渲染。 三、摄像机控制 1. 摄像机类:Camera类提供了对虚拟摄像机的控制,包括位置、角度、焦距等。了解...
在PV3D中,`DisplayObject3D`是所有3D对象的基类,它包括了3D坐标系统、变换矩阵和可见性控制。`DisplayObject3D`的子类有多种,如`Sprite3D`用于创建自定义的3D对象,`Mesh`用于创建复杂的几何形状,`Plane`则用于...
在Flex中,PaperVision3D通过ActionScript接口与Flash Player的硬件加速功能相结合,能够高效地处理大量3D几何体、纹理和动画。ActionScript是Adobe开发的一种面向对象的脚本语言,通常用于构建富互联网应用程序...
### PaperVision3D基础知识与建模技术解析 #### 基础概念介绍 PaperVision3D(PV3D)是一款强大的3D图形引擎,专为Adobe Flash平台设计,旨在简化三维场景的创建与渲染。PV3D的核心在于其对3D场景、相机、渲染引擎...
3. **3D编程基础**:通过PaperVision3D,开发者可以学习3D坐标系统、摄像机视角控制、3D物体的创建和操作、光照模型以及纹理贴图等基础知识。这些是所有3D图形编程的核心概念。 4. **交互性与用户界面**:在Flash ...
在本文中,我们将深入探讨如何使用Adobe Flex与Papervision3D库相结合,实现3D拖拽功能,让用户可以从不同角度观察3D对象。Flex是一个开放源代码的框架,用于构建富互联网应用程序(RIA),而Papervision3D是Flash...
3. **几何体与材质**:手册涵盖了多种基本3D几何体(如立方体、球体、平面等)的创建方法,以及如何应用不同的材质(如颜色、纹理、镜面效果等)来改变物体外观。 4. **摄像机控制**:包括摄像机的位置、旋转、缩放...
在“标签”中提到的“AS3 3D”,进一步强调了这个项目与AS3和3D图形处理的关联。在AS3中实现3D效果,通常涉及到矩阵运算、透视投影、纹理贴图和光照等概念。开发者需要理解如何使用这些工具和原理来构建和操纵3D物体...
- **基础概念**:理解3D空间中的坐标轴(X、Y、Z轴)和物体的位置、旋转、缩放等基本属性。 - **图形创建**:学习如何在3D环境中创建和编辑形状,包括立方体、球体、平面等基本几何体。 - **动画制作**:掌握如何...
6. **Papervision3D、Away3D等3D库**:除了使用原生的AS3 3D功能,还可以借助第三方库。这些库提供了更高级的功能,如光照、纹理映射、摄像机控制等,同时简化了3D编程的复杂性。例如,Papervision3D提供了基本3D...
在计算机图形学中,3D旋转是通过改变对象的坐标来模拟物体在三个轴向(X、Y、Z)上的转动。在Flash中,我们可以使用ActionScript(AS)语言来实现这一效果。ActionScript是Flash开发的主要编程语言,支持面向对象...
3. **基本概念**:讲解3D图形的基础知识,如坐标系统、向量、矩阵、光照、纹理等,这些都是使用Away3D进行3D编程的基础。 4. **对象和类**:深入解析Away3D中的关键类,如Scene3D、Camera3D、Loader3D、Mesh、...
5. 光照与材质:在3D场景中,光照和材质对物体的表现至关重要。PV3D提供了多种光照类型(如PointLight、DirectionalLight)和材质类型(如PhongMaterial、LambertMaterial),开发者可能根据需要为每个行星设置不同...
在“Flash 3D图片旋转展示特效”中,关键在于利用ActionScript 3.0的3D库,如Papervision3D、Away3D或Flare3D等,来构建一个3D环境。这些库提供了许多3D对象、光照、纹理和相机控制等功能,使开发者可以创建复杂的3D...
一些示例可能会展示如何将Away3D与第三方物理引擎(如Papervision3D的Box2D或FisixEngine)集成,实现物体碰撞检测和动态行为。 6. **纹理和贴图映射**: 纹理是3D物体表面的重要组成部分,Away3D 支持多种纹理...
mx:Canvas 是早期Flex 3 SDK中的3D容器,而spark:View3D 是Flex 4(即Spark架构)引入的新3D容器,提供更先进的3D渲染功能。这两个组件允许开发者在Web浏览器中创建和展示3D对象和场景。 1. mx:Canvas:这是一个...
1. **基础概念**:了解3D坐标系,包括X、Y、Z轴以及如何在3D空间中定位和旋转物体。 2. **对象与场景**:掌握如何创建3D对象,如立方体、球体等,并将它们添加到场景中。 3. **摄像机**:学习如何设置和移动摄像机...
3. **3D坐标系统**:理解X、Y、Z轴在3D空间中的作用至关重要。在环形旋转特效中,图片需要沿着Z轴进行旋转,并可能需要调整X、Y轴的位置来实现环形布局。 4. **矩阵变换**:Flash中的Matrix3D类用于进行3D变换,...