好吧,今天,让未来带领大家进入“真三维的 Flash 世界”——其实只是很简单的“三维”了。
先看看这个:
三维动画可能对大多数人来说都是可望而不可及的吧?是不是总觉得自己不可能制作出真正的三维的东西来呢?错!当你了解了三维的基础知识以后,这些想法就不存在了!而且您会很快就掌握它的制作方法!不相信?举个例子,我一直没有研究过三维基础知识,当我找到一本书以后,马上就编写出我的第一个真三维的动画,仅仅半小时!好了,有信心了吧?开始!
1)在平面上画线
在 Flash 中,所谓“画”线,其实就是将一个线型的 MovieClip 改变角度和长度,并且把它放在正确的位置上。
我现在来说明怎样“画”一条线段。
首先,看我们的 MovieClip,它是这个样子的:
下面,我们该开始“画”的过程了。从 (x1,y1) 到 (x2,y2)。
首先,看下图,我们可以复习一下上学时学到的东西,了解一下怎样求两点之间的距离。
是了,两点之间的距离应该是dx= x2 - x1;
dy= y2 - y1;
line_length = Math.sqrt(dx*dx+dy*dy);
然后,再看看怎样求旋转的角度。我们从三角函数的知识知道:正切 tan(ANGLE)=dy:dx,那么,好,我们已经知道了 dx 和 dy,就可以得出 tan(ANGLE) 的值,然后用 Flash 5 提供的反正切函数 atan 就可以计算出 ANGLE。
不过,要注意的是,取得的 ANGLE 是以弧度计算的,我们还需要把它转换成角度。为什么要转换成角度呢?因为我们要旋转 MovieClip,而这个旋转的角度不是弧度,而是标准的角度。取得角度以后,如果是钝角,还要做一下运算。具体程序如下: angle = Math.atan(dy/dx);
angle = angle*180/Math.PI;
if (dx
取得长度、角度以后,就可以“画”线了,我们先把线的顶端设置到 (x1,y1),然后通过改变长度和角度使得线的尾部到达 (x2,y2)。setProperty ("line", _x, x1);
setProperty ("line", _y, y1);
setProperty ("line", _rotation, angle);
setProperty ("line", _xscale, line_length);
好了,“画”线这个最基本的环节我们完成了!
2)空间上的点和线
平面上的点我们会用 (x,y) 来表示,而当这个概念延伸到三维上以后,空间上的点就应该定义为 (x,y,z) ,其中,xy 的意义和传统上是一样的,而这个z则是代表垂直于平面上的“深度”,因此,在空间上的点 (10,10,100) 会表现得比 (10,10,10) 更“深”一些。
那么,怎样来在二维平面上来表现空间上的点的位置呢?这里有一个经典的算法:x=(x/(z+d))*d;
y=(y/(z+d))*d;
本文转自:http://www.5uflash.com/flashjiaocheng/Flashdonghuajiaocheng/1116.html
发表评论
-
简单的flash播放进度控制条
2010-04-10 13:21 774实际运用时,将下列源文件中的Control_progress ... -
Flash基础理论课:制作Loading思路详解(附图)
2010-04-10 13:21 524[1b] [/1b] [1b]思路:[/1b] 1、制作一个1 ... -
即拷即用的loading代码
2010-04-10 13:21 597// 设置loading的宽、高、颜色 var loadin ... -
Flash进度条的制作详细讲解(组图)
2010-04-10 13:21 998在论坛和其他网站上经常可以看到新手请教如何制作FLASH进度条 ... -
简单的flash播放进度控制条
2010-04-10 13:20 621实际运用时,将下列源文件中的Control_progress ... -
AS3.0教程:强大的事件机制(1)
2010-04-09 13:47 431Event机制作为重头戏,在ActionScript 3.0中 ... -
AS3.0教程:强大的事件机制(1)
2010-04-09 13:46 610Event机制作为重头戏,在ActionScript 3.0中 ... -
AS3.0教程:强大的事件机制(2)
2010-04-09 13:46 568[1b]如何接收事件?如 ... -
AS3.0教程:强大的事件机制(2)
2010-04-09 13:46 636[1b]如何接收事件?如 ... -
AS3.0教程:强大的事件机制(3)
2010-04-09 13:45 5912) addEventListener语法的不同,原因,和co ... -
AS3版本Progressive FLV播放方式
2010-04-09 11:39 741用AS3来实现Progressive FLV的简单播放,下一篇 ... -
AS3版本FMS Streaming FLV播放方式
2010-04-09 11:38 810AS3版本的FMS Streaming FLV ... -
AS3版本FMS Streaming FLV播放方式
2010-04-09 11:38 623AS3版本的FMS Streaming FLV ... -
as3游戏开发之打气球系列(二)
2010-04-09 11:38 505HI,经过了昨天疯狂的理 ... -
我对as3声音架构的理解
2010-04-09 11:38 565一直都对as3的声音架构 ... -
荧火虫flash制作过程
2010-04-08 11:09 663制作过程 步骤如下: 1、启动FLASH ... -
仿导引线环绕效果加仿球体
2010-04-08 11:09 529最终效果: 这是直接利用了与圆弧垂直相切,利用了打散后直接 ... -
仿导引线环绕效果加仿球体
2010-04-08 11:09 504最终效果: 这是直接利用了与圆弧垂直相切,利用了打散后直接 ... -
实时三维动画内核分析
2010-04-08 11:08 561好吧,今天,让未来带 ... -
Flash鼠绘入门第十三课:绘制美丽春日飞燕
2010-04-08 09:22 477相传燕子于春天社日北 ...
相关推荐
2.基于opengl三维动画引擎,实现三维图形、动画的绘制(类似于logo语言)。3.支持代码的数据库管理。4.支持pascal语言转C++语言。5.支持语音识别。6.支持3D打印文件的导入。7.支持多线程编程。8.封装控制台用的游戏...
根据文献[1]提出的理论和算法,开发一种用于工业机器人本体设计的专用软件Robot-...主要介绍该软件的基本界面开发、建立工业机器人手臂和关节的三维模型、机器人的组装方法、以及机器人模型的基本运动的动画实现。
具有三维空间效果的flash图库相册源码,内核是一个图片展示,不过功能更丰富些,可对照片进行分组显示,具有3D旋转特效,应用到了Flash的AS脚本编程技术,XML文件读写技术等,相册的最终效果请参见截图所示。
E3D是AE中强大的三维模型插件。支持3D对象在AE中直接渲染的引擎,该插件采用OpenGL程序接口,支持显卡直接参与OpenGL运算,是AfterEffects中为数不多的支持完全3D渲染特性的插件之一。具有real time rendering(实时...
E3D是AE中强大的三维模型插件。支持3D对象在AE中直接渲染的引擎,该插件采用OpenGL程序接口,支持显卡直接参与OpenGL运算,是AfterEffects中为数不多的支持完全3D渲染特性的插件之一。具有实时渲染的特性,即在制作...
它综合了MSC.Marc/MENTAT通用分析软件求解器和前后处理器的精髓,以及全自动二维四边形网格和三维六面体网格自适应和重划分技术,实现对具有高度组合的非线性体成型过程的全自动数值模拟。其图形界面采用工艺工程师...
晴窗中文大侠基本支持所有CG专业软件,几乎囊括了目前中国市面上所有常用的关于平面设计、三维动画、影视编辑等软件。是个人使用和学习图形图像英文软件不可多得的好帮手。 晴窗中文大侠的翻译技术是使用界面动态...
最先进的生成三维角色动画的工具包,包括许多实时工具使您胜任最具挑战性,极为繁重的动画项目。 Autodesk Productstream 通过组织、管理、自动化关键设计和发布的管理流程来加速发展周期,最优化企业在设计数据上的...
3D Studio Max,常简称为3ds Max或MAX,是Autodesk公司开发的基于PC系统的三维动画渲染和制作软件。其前身是基于DOS操作系统的3D Studio系列软件,最新版本是2013。在Windows NT出现以前,工业级的CG制作被SGI图形...
E3D是AE中强大的三维模型插件。支持3D对象在AE中直接渲染的引擎,该插件采用OpenGL程序接口,支持显卡直接参与OpenGL运算,是AfterEffects中为数不多的支持完全3D渲染特性的插件之一。 具有real time rendering...
晴窗中文大侠基本支持所有CG专业软件,几乎囊括了目前中国市面上所有常用的关于平面设计、三维动画、影视编辑等软件。是个人使用和学习图形图像英文软件不可多得的好帮手。 晴窗中文大侠的翻译技术是使用界面动态...
15、用车削命令生成旋转物体时,可以使顶盖和底盖平整的参数选项是焊接内核 16、在复合物体中,可用于多个二维平面物体和一个三维几何体之间进行相加、相减运 算的物体命令是图形合并 17、用于将一个物体复制多个,...
2005年二月,英国著名手机软件制造商Symbian推出一款新的手机操作系统软件OSv9.0,它支持更高像素数码相机与三维游戏动画。该操作系统软件对运行环境要求较高,目前运行在由英国芯片开发商ARM提供的快速处理器芯片...
Quartz Extreme 使用OpenGL的把他们表示为三维内容中的材质贴图来更快速地绘制屏幕上的显示内容。允许利用显卡的3D硬体加速功能来更快速地合成影像。 3.本文是自己实践安装教程,参考了...
8.7.1 三维旋转曲面的生成 270 8.7.2 贝塞尔曲线 270 8.7.3 bezier曲线生成工具 272 8.7.4 印度古典建筑场景的开发 274 8.8 本章小结 276 第9章 3d模型加载 277 9.1 obj模型文件概览 277 9.1.1...
同时,千博企业建站系统灵活的、可伸缩的产品架构、强健的系统内核、严谨的安全策略、灵活的内置模型、高效信息处理能力、便利的操作管理特性、专业严密的安全性等诸多特性,可以最大化满足各类企业网站展示、共享的...
同时,千博企业建站系统(律师/学校/医院网站系统)灵活的、可伸缩的产品架构、强健的系统内核、严谨的安全策略、灵活的内置模型、高效信息处理能力、便利的操作管理特性、专业严密的安全性等诸多特性,可以最大化满足...
这一部分介绍外部通信、基于位置的服务、内置SQLite数据库和三维图形。 本书最后提供了一个附录,其中列出了Android与Java SE(Java Standard Edition,Java标准版)之间的不同之处。 . 在线资源 本书网站...
IVD:超过20/20微观数据维数或变量等级文件 IVP:超过20/20的用户子集配置文件 IVT:超过20/20表或集合数据文件 IVX:超过20/20微数据目录文件 IW:Idlewild屏幕保护程序 IWC:Install Watch文档 J J62:...
12、完全开放的接口,提供二次开发空间,并可方便接入第三方统计、在线客服等模块。 13、最佳安全性:以网站开发者角度出发,配以千博学校网站系统产品的实际开发范例,从黑客主流攻击手段入手,向网站开发者展示的...