Flash AS 入门 “影片剪辑”属性调整及路径解析
这篇教程为“Flash AS 入门教程”的一部分。查看全套教程>>>>。
本节应掌握的知识要点:
①影片剪辑属性调整;②相对路径、绝对路径的应用;③赋值运算符“=”应用;④了解算术组合赋值运算符“+=”、“-=”、“*=”、“/=”。
属性概念是我们生活中随处可见的,各种物体都有自己的属性,比如我们的食用水,它的自然属性是透明、无色、无味的液体,这些属性通过一些加工手段是可以改变的,加入调色剂可以使它的透明度和色泽发生变化,加入调味剂可以改变它的味道,放入冰箱冷冻可以让它凝固成冰块。
在Flash 中,影片剪辑对象也有自身的许多属性,比如坐标位置、透明度、大小、旋转角度等等,运用动作脚本语句可以对其属性进行修改调整。
路径概念在前面已经接触过了,我们将在这一节里加深理解。 请看示例动画“实例1-4”。
实例1-4 “影片剪辑”属性调整
我们先分析画面层次结构:画面很简单,在黄蓝色相间的主场景(_root)上,右下角放有几组按钮,中间有一个实例名为“huan_mc”的影片剪辑,“huan_mc”影片剪辑中还嵌套了一个实例名为“shu_mc”的影片剪辑,shu_mc影片剪辑里有一个圆形、一只小松鼠和4只按钮。
把鼠标分别移到各个按钮上,可以显示按钮上设置的动作,点击主场景上的按钮和shu_mc影片剪辑里的按钮,可以分别控制各级影片剪辑的相应属性。
从绝对路径控制影片剪辑属性:
下面我们先来看看通过主场景上按钮的release事件对影片剪辑huan_mc进行属性控制。
主场景上的一组蓝色按钮控制的是huan_mc的透明度属性:
_alpha : 透明度属性,以百分比为单位。
蓝色减号“-”按钮上的语句:
on (release) {
_root.huan_mc._alpha = 50;
} //点击按钮时,将场景上的huan_mc影片剪辑透明度设为50
蓝色加号“+”按钮上的语句:
on (release) {
_root.huan_mc._alpha = 100;
} //点击按钮时,将场景上的huan_mc影片剪辑透明度设为100。
这一组按钮的语句很简单,直接将一个常量赋值给场景上的huan_mc影片剪辑对象的透明度属性。
主场景上的一组红色按钮控制的是huan_mc的纵、横向缩放比例属性:
_xscale 影片剪辑的横向缩放比例,以百分比为单位。
_yscale 影片剪辑的纵向缩放比例,以百分比为单位。
红色加号“+”按钮上的语句:
on (release) {
_root.huan_mc._xscale = _root.huan_mc._xscale*1.1;
_root.huan_mc._yscale = _root.huan_mc._yscale*1.1;
}
红色减号“-”按钮上的语句:
on (release) {
_root.huan_mc._xscale = _root.huan_mc._xscale*0.9;
_root.huan_mc._yscale = _root.huan_mc._yscale*0.9;
}
这一组按钮上的语句中,属性的取值就不是一个简单的常量了,而是通过两个表达式计算出对象的纵、横向缩放比例,如“_root.huan_mc._xscale*1.1”,计算的结果就是横向缩放比例为场景上的huan_mc横向缩放比例的1.1倍即110%。再将这个结果赋值给表达式左边指定的影片剪辑对象的相应属性,点击一次按钮就会计算一次,由此令该影片剪辑对象按照每一次计算出的比例进行纵、横向等比例缩放。
下面再来看看主场景上的一组绿色“上”、“下”、“左”、“右”按钮,这一组按钮控制的是位于huan_mc内部的shu_mc的纵、横坐标属性。
_x 影片剪辑的横坐标属性,单位为像素。
_y 影片剪辑的纵坐标y 坐标,单位为像素。
绿色“向上”按钮上的语句:
on (release) {
_root.huan_mc.shu_mc._y = _root.huan_mc.shu_mc._y-10;
}
当点击鼠标时,即由右边的表达式计算出“shu_mc”的y(纵)坐标位置,然后赋值给shu_mc的纵坐标属性,如shu_mc在场景上的初始x、y位置为(0,0),第一次点击鼠标,shu_mc的位置变为(0,-10),即上移10个像素。每点击一次,上移10个像素。
其他“向下”、“向左”、“向右”3个按钮同理。
主场景右下角绿色加号“+”、减号“-”按钮控制的是主场景(_root)的纵、横向等比例缩放,每点击一次减号“-”按钮,主场景按90%的比例缩小,点击加号“+”按钮,比例还原到100%。
从相对路径控制影片剪辑属性:
以上所述,主场景上的按钮都是以绝对路径的方式控制各级影片剪辑的相关属性。绝对路径在前面的内容里已经学习过。下面我们再来看看位于“shu_mc”影片剪辑内部的按钮是如何控制影片剪辑属性的。
分别点击两个红色按钮,可以调整huan_mc影片剪辑的纵、横向等比例缩放,分别点击两个绿色按钮,可以控制主场景的纵、横向等比例缩放,与主场景上相应按钮的控制效果相同,但是,它们路径的指向却有所不同。
红色加号“+”按钮上的语句:
on (release) {
this._parent._xscale = this._parent._xscale*1.1;
this._parent._yscale = this._parent._yscale*1.1;
}
红色减号“+”按钮上的语句:
on (release) {
this._parent._xscale = this._parent._xscale*0.9;
this._parent._yscale = this._parent._yscale*0.9;
}
与主场景上红色按钮的语句不同之处是,路径不一样,前者使用标识符“_root”指定绝对路径,而这里是以标识符“this”和“_parent”指定相对路径,这是我们这一节要掌握的又一个知识点。
this 当将其附加到按钮的 on 事件动作中时,它指向的是包含该按钮的影片剪辑的时间轴。
_parent 当将其附加到按钮的 on 事件动作中时,它指向的是包含该按钮的影片剪辑时间轴的上一级时间轴,即父时间轴。
比如红色按钮上的“this._parent”,this指向的就是包含了按钮的“shu_mc”影片剪辑的时间轴,“_parent”指向的是包含了按钮的“shu_mc”影片剪辑的上一级影片剪辑的时间轴,即“huan_mc”影片剪辑时间轴。
所以,当点击位于“shu_mc”中的红色按钮时,它控制的是“huan_mc”的纵、横向等比例缩放属性。
再看位于“shu_mc”中的绿色按钮上的语句:
绿色减号“-”按钮上的语句:
on (release) {
this._parent._parent._xscale = this._parent._parent._xscale*0.9;
this._parent._parent._yscale = this._parent._parent._yscale*0.9;
}
绿色加号“+”按钮上的语句:
on (release) {
this._parent._parent._xscale = 100;
this._parent._parent._yscale = 100;
}
这里,又多了一级“_parent”,按照上面的路径分析,“_parent._parent”指向的就应该是包含了按钮的“shu_mc”影片剪辑的上一级“huan_mc”影片剪辑的上一级时间轴,即主场景“_root”的时间轴。
所以,当点击按钮时,控制的是主场景时间轴的等比例缩放。
路径小结:
这个实例,主场景上的按钮都是由外向内通过绝对路径的方式分别控制各个级别影片剪辑对象的属性,而嵌套在影片剪辑内部的按钮则是由内向外通过相对路径的方式控制各级父级影片剪辑的属性。
事实上,绝对路径与相对路径的区别是到达目标对象的出发点不同,绝对路径是以当前主场景(即根时间轴)为出发点,以目标对象为结束点;而相对路径则是从发出指令的对象所在的时间轴为出发点,以目标对象为结束点。
理解了路径的概念,我们就可以灵活的运用了。比如上面实例中的所有按钮,其实都可以分别运用绝对路径和相对路径的方式来实现相同的控制效果。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:/3Dsheji/169755.html