- 6
- 0
- 约4.72千字
- 约 6页
- 2018-03-27 发布于河南
- 举报
as3 位置和大小
8.2? 位置和大小
在Flash定位系统中:左上角是坐标原点,x轴向右为正方向,y轴向下为正方向。其坐标单位是像素。每个对象都有其自身的相对坐标系,当对象child处在对象parent内部,其位置是相对于parent对象最小矩形包框左上角的相对位置。舞台在Stage坐标系的第一象限内。具备这些知识,就可以进一步学习动画对象的操作了。
8.2.1? 基本原理
一个舞台动画对象在包含许多舞台信息:出现在何处, 占多大面积,处在什么角度,是否可见……这些信息分别存储在动画对象的属性中。在代码中读取这些属性可以了解对象的位置、大小、角度等状态信息,修改这些 属性可以改变对象的位置、大小、角度等状态。如果从数据的角度去理解,动画就是在固定时间间隔点不断修改动画对象某项属性的值。
显示对象类的成员都具有x和y属性,两者都是Number数据类型,分别记录相对于父级对象的位置。这两个属性都是可写的,所以可以直接设置x和y的值。在AS3中,x属性和y属性被实现为setter/getter取存器。修改一个对象的x和y将自动引发该显示对象在下一时间周期的重绘。所以通过修改x和y属性的值,就能改变对象的位置,这是代码中改变对象位置的最普通做法。
动画元件拥有超出舞台的坐标位置也是合法的,只是用 户显示区域不可见。虽然把对象移到舞台外可将其隐藏,但更恰当的做法是直接设置显示对象的visible属性为false。此外,修改对象的透明度,将其 设为0值,也能起到隐藏对象的作用。可以根据在不同的场合,选择最佳的方案。
对象的width和height属性记载对象的宽和高。该属性的类型是Number,但不可以赋为负值,AS3直接忽视这样的赋值。对象的宽高是根据包裹该对象的最小矩形计算的。
改变对象的rotation属性可以旋转对象。旋转 默认是以对象自身的坐标原点(也就是左上角)为轴心的。如前所述:对象的width和height是包裹该对象的矩形的宽和高。所以同现实世界不 同,Flash中的对象经过旋转其宽高会发生变化。所以最好将width和height理解为对象在舞台上的当前状态,同对象在库中的元件宽高数值不同。
8.2.2? 实例演示
下面通过实例8-1说明。
在舞台上建立一个矩形MovieClip,命名为rect1,宽110px,高80px,同时复制两次,分别命名为rect2,rect3,水平等距排列,如图8-2所示。
在时间轴上写入代码:
trace(rect1 width:+rect1.width+,Height:+rect1.height);
rect2.rotation=30;
trace(rect2 width:+rect2.width+,Height:+rect2.height);
rect3.width=20;
rect3.height=-100;
trace(rect3 width:+rect3.width+,Height:+rect3.height);
运行显示如图8-3所示:
??????????
图8-2? 建立三个MovieClip实例????????????????? 图8-3? 代码操作属性的效果
同时程序Output窗口输出信息:
rect1 width:110,Height:80
rect2 width:135.25,Height:124
rect3 width:20,Height:80
rect2围绕左上角旋转后,对象的width和height都发生了变化。rect3的宽度被设置为20,对象被水平压缩,而高度没有改变。
8.2.3? Matrix类
直接操作显示对象属性只能进行简单变换操作,对于复杂的变换这种方式是远远不够的。AS3提供强大的矩阵运算类Matrix来处理复杂的数学计算。对于DisplayObject类及其子类,可以使用其内部的trasform.matrix对象。
所有显示对象(包括spirit、 MovieClip、TextField等)的transform属性内都包含了一组对象。对象的矩阵matrix对象就存储在其中。matrix对象是 一个只读对象,存储了该显示对象进行位置变换的矩阵运算信息。矩阵是现代计算机算法的重要组成部分。AS3中的Matrix矩阵类大大简化了矩阵运算编程 的烦琐。只要能掌握好matrix对象的用法,就能胜任大多数场合的应用需要。
DisplayObject.transform.matrix对象的使用过程如下:
(1)创建一个Matrix对象myMatrix。
(2)将目标显示对象的transform.matrix对象复制到myMatrix之中。
(3)通过Matrix类的各种方法对myMatrix进行操作。
(4)用myMatrix替换显示对象内部的transform.mat
您可能关注的文档
- 2013-2014上期年九级数学期末专题复习:一元二次方程专题复习(Word版.含解析、点评和练习).doc
- 2013.03vb综合题大纲1.doc
- 2013《河北教育》教学版小学语文课内阅读答案(5.25).doc
- 2013VC++期末复习材料.doc
- 2012年浙江三项考试技术试题图片质量好.doc
- 201334113952_建设工程文件归档内容一览表.doc
- 2013年二级VFP无纸化题库.doc
- 2013年太原大学经贸系电商专业JSP考试参考答案.doc
- 2013版QQ如何设置聊天窗口不显示输入法状态.doc
- 2013软件开发试卷.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)