时间: 2021-07-31 作者:daque
第七章 举措剧本进阶
第一节 movieclip(影戏剪辑)遏制(1)
flash不妨做出变幻无穷,多姿多彩的动画功效,个中很大学一年级局部都是由遏制影戏剪辑(mc)的属性来到达的。在flash mx 2004的【举措】面板中,属性被放在各个相映的类中,不像往日的本子,把各个类的属性一致地放在一道。即使在编制程序时须要运用mc的属性,你不妨在【举措】面板的【内置类】|【片子】|【movieclip】类型里找到。
1.mc属性遏制
(1)mc属性简介
在flash mx 2004中,mc的属性有30余种,咱们在这边引见局部常用的,最具代办性的属性。
_alpha:影戏剪辑范例的通明度。灵验值为 0(实足通明)到100(实足不通明)。默许值为100。你不妨经过对mc的_alpha属性在0到100之间变革的遏制,创造出或明或暗或朦胧的功效来。
_rotation:影戏剪辑的回旋观点(以度为单元)。从0到180的值表白顺时针回旋,从0到-180的值表白顺时针回旋。不属于上述范畴的值将与360相加或相减以获得该范畴内的值。比方:语句my_mc._rotation=450与my_mc._rotation=90沟通。
_visible:决定电景剪辑的看来性,当mc的_visible的值是true(大概为1)时,mc为看来;当mc的_visible的值是false(大概为0)时,mc为不看来。
_height:片子剪辑的莫大(以像素为单元)。
_width:片子剪辑的宽窄(以像素为单元)。
_xscale:片子剪辑的程度缩放比率。
_yscale:片子剪辑的笔直缩放比率。
当_xscale和_yscale的值在0~100之间时,是减少片子剪辑为原片子剪辑的百分数;当_xscale和_yscale的值大于100时,是夸大原片子剪辑;当_xscale或_yscale为负时,程度或笔直翻转原片子剪辑并举行缩放。
不要把片子剪辑的莫大与笔直缩放比率污染,也不要把片子剪辑的宽窄与程度缩放比率等量齐观,比方:
mc._width=50//表白把mc的宽树立为50像素;
mc._xscale=50//表白把mc的程度宽窄树立为从来程度宽窄的50%。
_x:片子剪辑的x坐标(平头)。
_y:电景剪辑的y坐标(平头)。
提防:即使片子剪辑在主功夫轴中,则其坐标体例将戏台的左上角动作 (0, 0),向右和向下渐渐减少。即使片子剪辑在其它片子剪辑的功夫轴中,则以个中心场所为(0,0),向右和向下为正,并渐渐减少。向左和进取为负,并渐渐减小。
(2)getproperty()和setproperty()吩咐
在前方咱们引见了局部常用的mc的属性,那么究竟如何去实行对其属性的遏制呢?常用的吩咐是setproperty()和getproperty(),即树立属性吩咐和博得属性的吩咐。在flash mx 2004中,这两个吩咐在【举措】面板中【全部因变量】|【片子剪辑遏制】类型下。
setproperty()吩咐用来树立mc的属性,它的普遍运用情势为:
setproperty(目的,属性,值);
吩咐中有三个参数:
目的:即是要遏制(树立)属性的mc的范例名,提防囊括mc的场所(路途)。
属性:即要遏制的何种属性,比方通明度、看来性、夸大比率等。
值:属性对应的值,囊括数值、布尔值等。
比方:
setproperty(“_root.mc.mc1”,_visible, false);//表白把片子mc下一个范例名为mc1的片子树立为不看来。
setproperty("_root.dm",_rotation,30);//表白要使范例名叫dm的片子剪辑转化30度。
getproperty()吩咐用来获得mc的属性,它的普遍运用情势为:
getproperty(目的,属性);
吩咐中有两个参数:
目的:被取属性的mc范例的称呼;
属性:要博得的mc的属性。
比方:
mx= getproperty(“_root.mc.mc1”,_x);//博得片子mc下一个范例名为mc1的片子的横坐标,并把它交给变量mx;
setproperty("_root.dm1",_y, getproperty("_root.dm0",_y));//表白树立片子dm1的横坐标为片子dm0的横坐标。大概说,博得片子dm0的纵坐目标值,把这个值动作片子dm1的纵坐目标值。这种本领常常用在动静地为片子树立属性。
(3)运用点语法存取属性值
除去用setproperty()和getproperty()吩咐树立和博得mc的属性外,即使你的英语不错,actionscript应用也比拟流利,那么你也不妨用“.”点语法来树立或博得mc的属性,有功夫会感触很简单。点语句的用法的普遍情势为:
片子剪辑称呼.属性=属性值。
片子剪辑称呼固然囊括它的路途(反面会比拟精细地引见路途的观念)。底下咱们以前方的例子来证明。
setproperty(“_root.mc.mc1”,_visible, false);
不妨写成:
_root.mc.mc1._visible=false;
setproperty("_root.dm",_rotation,30);
不妨写成:
_root.dm._rotation=30;
mx= getproperty(“_root.mc.mc1”,_x);
不妨写成:
mx= _root.mc.mc1._x;
setproperty("_root.dm1",_y, getproperty("_root.dm0",_y));
不妨改写成两句:
my=_root.dm0._y;
_root.dm1._y=my;
是否有的情景下点语法更简练写呢?