当前位置:flash课件吧→FLASH技巧汇粹(新页面 新改版 新气象

 

Flash中步入Matrix函数

flash课件吧(永久网址:http://www.luotao2008.cn)的课件制作教程动画制作教程

  在字典中的说明不够充分让大家去理解,所以开始还是要重复说明一下。Matrix矩阵就像个数组,排列方式是以列与行组成。在flash 8中所提供的是3 x 3矩阵,3x3的矩阵可以定义出一个3D计算,但在Flash 8中只供2D的计算,即 x 和 y 的计算,那么我们来看看这个矩阵的定义
 


以上的每个字母都有各自的运用意义,分别是:
a = 控制 X 的宽度
b = 控制 Y 的倾斜

c = 控制 X 的倾斜

d = 控制 Y 的高度

tx = 控制 X 坐标位置

ty = 控制 Y 坐标位置

 
接下来就是如何在Matrix函数中定义,其实很简单。首先汇入 Matrix 的封包,然后就可以开始定义
import flash.geom.Matrix;  //导入类包
var myMatrix:Matrix = new Matrix(a, b, c, d, tx, ty);  //开始定义Matrix类
  当中的a, b, c, d, tx, ty可以直接定义。再来我们把这段引入例子,以证明及帮助了解以上各个参数的运用。
  步骤1在场景上建立一个MC,即画个方形后按F8选择MovieClip(影片),定义实例名为mc
  步骤2到场景第一帧开始我们的代码
Matrix 必须配合 Transform 才能实现出所定义的效果,不多说了开始看看代码吧
import flash.geom.Matrix;  //导入Matrix 类包
import flash.geom.Transform;  //到入Transform类包

var myMatrix:Matrix = new Matrix(1,0,0,1,100,100);  //参数定义为宽度比例为1,无任何的倾斜,高度比例1,xy坐标为100

var myTransform:Transform = new Transform(mc);  //Transform对象为场景上的mc

myTransform.matrix = myMatrix;  //赋予transform的matrix函数为我们所定的myMatrix类

 

  那么接下来测试就可以看到结果了,看不出什么效果??那么我来换换Matrix的参数值成
var myMatrix:Matrix = new Matrix(1,1,0,1,100,100);  //第二参数改为1
这样测试是不是就看到我们的b影响了mc的形状呢??Matrix的运用就是这样,很简单吧??所以很多东西不要以为很困难,其实都很简单。
再来我们要深入一点,去了解Matrix的计算,知其一不知其二也是无法正确掌握好运用的。Matrix的计算其实很简单,就只有两行的公式:
X’ = a*X + c*Y + tx;
Y’ = b*X + d*Y + ty;

  意思就是
新坐标X = a * 现有X坐标 + c * 现有Y坐标 + 常量tx;
新坐标Y = b * 现有X坐标 + d * 现有Y坐标 + 常量ty;
我们把这个例子代入公式中
a = 2, b = 0, c = 0, d = 1, tx = 0, ty = 0
X’ = 2x + 0y + 0;
Y’ = 0x + 1y + 0;

X’ = 2x;

Y’ = y;

可以知道下一个新的X值会是目前X的两倍,而Y保持不变,在一开始已经说了a的变化会影响宽度,那么出来的形状就是宽度为现有的两倍了。
在Matrix中还有几个基本函数可以控制,所以也可以不用一直重新定义Matrix类,那就是
Matrix.scale(a,d);
Matrix.translate(tx1, ty2);  //这里的tx1和ty1是所要递增或递减原有tx和ty的数值

Matrix.rotate(弧度);  //弧度就是  (角度 / 180)* Math.PI

 

  基本上只要代入公式就可以得到答案,所以我只说明rotate函数的计算
Math.rotate((50/180)*Math.PI)  //这里是要求旋转 50 度
公式为:
X’ = cos(a)*X + sin(c)*Y + tx;
Y’ = -sin(b)*X + cos(d)*Y + ty;
X’ = cos(50)*X + sin(50)*Y + tx;
Y’ = -sin(50)*X + cos(50)*Y + ty;

X’ = 0.64*X + 0.76*Y + tx;

Y’ = -0.76*X + 0.64*Y + ty;
得到的这个答案再把现有坐标x和y代入就可以求出新坐标了
那么我们来验证a,b,c,d的数值是否正确吧,打开一个新的场景,在帧上输入
import flash.geom.Matrix;
var myMatrix:Matrix = new Matrix();

myMatrix.rotate((50/180)*Math.PI);

trace(myMatrix.toString());  //看看当中的a,b,c,d是不是也是这个数值呢?
好啦。。到了最后的部分也就可以完结这篇教程了,最重要的一点也是很多人百思不解的问题是:
求出一个X和Y,为何会能够让元件转动呢?这只是一个坐标啊??最多也只是控制坐标点,怎么那么神奇??

  这点就是Flash提供的方便了,其实为何需要配合Transform的关键就是在此,Transform指定了元件之后会得到4个角的坐标。所以我们使用Transform.matrix函数就是让transform把Matrix的公式代入每个角的坐标。
所以公式中的x和y就是每个角的坐标,坐标代入公式就直接取得了新的坐标值而达到旋转变形等的功能。这是不是简单化了很多呢??总比在之前版本还要自己定义函数。

  好啦。。此篇教程结束。希望转载的朋友附上作者名字,谢谢。

 

 

 

 

期刊论文服务

合作期刊
学报期刊
 
获奖证书办理
本站已改版成新站 课件115学培吧http://www.kj115.com
Flash基础如何学习?(实例操作引导) AS控制的上升的逼真的水泡 Flash8语言制作漫天大雪的效果 Flash 8 的柔化函數 FLASH调用XML数据简明教程
Flash MX基础知识(一) Flash MX基础知识(二) Flash MX基础知识(三) Flash MX基础知识(四) Flash多种技巧组合
flash课件要怎样做才算精美 FLASH课件中帮助信息怎么做? FLASH课件中粉笔功能怎么做? FLASH课件中计分板的制作方法 flash上加htm链接的技巧
Flash课件制作无法导入mp3文件怎么办 Flash应用之百宝箱 Flash内加URL链接的一点经验 打造Flash电子相册 flash中导入声音出错怎么办
FLASH制作透明动态的GIF Flash中步入Matrix函数 GIF文件转Flash简单至极 补间 逐帧 图层 关键帧 产生不重复的随机数的方法
Flash中屏蔽右键菜单七法 FLASH中如何调用外部文本文件 MTV制作的完整流程. Flash中步入Matrix函数 Word文档转化成Flash的SWF文件
The Matrix 光波效果 精确控制物体变形过程 渐进按钮 让Flash课件在VCD上播放
电视干扰 文字的辉光模拟 层次菜单控制部分的制作 用Flash建站的通用思路及步骤 巧用Flash制作动态网页
文字绕排 层次菜单的制作 再谈利用flash如何制作MTV 闪客技术十种绝技 精简Flash文件体积七法
电流波动 如何制作幻影效果(1) 再谈FLASH课件的优点有多少 如何在flash课件中统一风格 记忆鼠标指针位置的神奇小球
视觉欺骗---3D矩阵 如何制作幻影效果(2) 再谈20点关于Flash的瘦身经验 了解AS3.0的改变 关于代码在程序中的位置
在FLASH中引入3D 怎样实现flash课件的友好界面 又一款添加背景音乐的方法 屏蔽flash右键方法 点击相册的制作过程.
Flash MX动画制作实例教程——符号和实例(一) Flash MX动画制作实例教程——符号和实例之制作按钮 Flash MX动画制作实例教程——文字处理之文字的属性
Flash MX动画制作实例教程-符号和实例(二) Flash MX动画制作实例教程-文字处理-编辑文字 Flash MX动画制作实例教程-文字处理-使用文本区域
《速度》---用Flash模拟物体快速运动 自写myLoadMovie类弥补loadMovie方法的弊病 Flash MX动画制作实例教程——文字处理之文字的属性
怎样最大限度地拓展flash课件的通用性 谈谈自己在搞好flash课件制作的几点深刻体会 首页根据分辨率的大小自动调用不同文件
如何在FLASH课件中加入适时的系统时间? 如何利用AS制作flash课件的填空题 利用Flash8做个人性化悬浮提示标签
教你用FLASH8打造万能FLASH课件模板 关于 Fscommand 和 Javascript 的配合 MovieClip的onLoad和onData bug以及变态修正方法
FLASH中如何使调用的外部文本文件能够滚动 FLASH中如何进行声音的压缩与效果处理 FLASH中如何调用外部图片(加载到影片剪辑中)
FLASH中如何调用外部.swf文件(加载到时间轴上) FLASH中如何调用外部.swf文件(加载到影片剪辑中) FLASH中如何调用外部声音文件(加载到场景中)
Flash无法导入声音问题的解决方案 FLASH课件中如何打造仿Windows窗口? flash课件制作中如何导入MID格式的声音
Flash动画在网页中播放控制器制作祥解 Flash调用EXE文件的方法(使用函数:getURL) 更多详见116个教程总目录
国家信息产业部备案专号:鄂ICP08005724返回顶部
本站推荐最佳分辨率:1024X768在线咨询台
声明:我站除课件制作动画制作培训以外,所有内容均属于免费资源。本站部分资源来自于网络,由本站收集整理,如有侵权请联系本站管理(QQ444860709 手机13339817386),我站会在三个工作日内处理。