Flash可以做出千變?nèi)f化,多姿多彩的動(dòng)畫(huà)效果,其中很大一部分都是由控制電影剪輯(MC)的屬性來(lái)達(dá)到的。在Flash MX 2004的【動(dòng)作】面板中,屬性被放在各個(gè)相應(yīng)的類(lèi)中,不像以前的版本,把各個(gè)類(lèi)的屬性統(tǒng)一地放在一起。如果在編程時(shí)需要使用MC的屬性,你可以在【動(dòng)作】面板的【內(nèi)置類(lèi)】|【影片】|【MovieClip】類(lèi)別里找到。
(1)MC屬性簡(jiǎn)介
在Flash MX 2004中,MC的屬性有30余種,我們?cè)谶@里介紹部分常用的,最具代表性的屬性。
_alpha:電影剪輯實(shí)例的透明度。有效值為 0(完全透明)到100(完全不透明)。默認(rèn)值為100。你可以通過(guò)對(duì)MC的_alpha屬性在0到100之間變化的控制,制作出或明或暗或模糊的效果來(lái)。
_rotation:電影剪輯的旋轉(zhuǎn)角度(以度為單位)。從0到180的值表示順時(shí)針旋轉(zhuǎn),從0到-180的值表示逆時(shí)針旋轉(zhuǎn)。不屬于上述范圍的值將與360相加或相減以得到該范圍內(nèi)的值。例如:語(yǔ)句my_mc._rotation=450
與my_mc._rotation=90
相同。
_visible:確定電景剪輯的可見(jiàn)性,當(dāng)MC的_visible的值是True(或者為1)時(shí),MC為可見(jiàn);當(dāng)MC的_visible的值是false(或者為0)時(shí),MC為不可見(jiàn)。
_height:影片剪輯的高度(以像素為單位)。
_width:影片剪輯的寬度(以像素為單位)。
_xscale:影片剪輯的水平縮放比例。
_yscale:影片剪輯的垂直縮放比例。
當(dāng)_xscale和_yscale的值在0~100之間時(shí),是縮小影片剪輯為原影片剪輯的百分?jǐn)?shù);當(dāng)_xscale和_yscale的值大于100時(shí),是放大原影片剪輯;當(dāng)_xscale或_yscale為負(fù)時(shí),水平或垂直翻轉(zhuǎn)原影片剪輯并進(jìn)行縮放。
不要把影片剪輯的高度與垂直縮放比例混淆,也不要把影片剪輯的寬度與水平縮放比例混為一談,例如:
MC._width=50//表示把MC的寬設(shè)置為50像素;
MC._xscale=50//表示把MC的水平寬度設(shè)置為原來(lái)水平寬度的50%。
_x:影片剪輯的x坐標(biāo)(整數(shù))。
_y:電景剪輯的y坐標(biāo)(整數(shù))。
注意:如果影片剪輯在主時(shí)間軸中,則其坐標(biāo)系統(tǒng)將舞臺(tái)的左上角作為 (0, 0),向右和向下逐漸增加。如果影片剪輯在其它影片剪輯的時(shí)間軸中,則以其中心位置為(0,0),向右和向下為正,并逐漸增加。向左和向上為負(fù),并逐漸減小。
(2)getProperty()和setProperty()命令
在前面我們介紹了部分常用的MC的屬性,那么到底怎么去實(shí)現(xiàn)對(duì)其屬性的控制呢?常用的命令是setProperty()和getProperty(),即設(shè)置屬性命令和取得屬性的命令。在Flash MX 2004中,這兩個(gè)命令在【動(dòng)作】面板中【全局函數(shù)】|【影片剪輯控制】類(lèi)別下。
setProperty()命令用來(lái)設(shè)置MC的屬性,它的一般使用形式為:
setProperty(目標(biāo),屬性,值);
命令中有三個(gè)參數(shù):
目標(biāo):就是要控制(設(shè)置)屬性的MC的實(shí)例名,注意包括MC的位置(路徑)。
屬性:即要控制的何種屬性,例如透明度、可見(jiàn)性、放大比例等。
值:屬性對(duì)應(yīng)的值,包括數(shù)值、布爾值等。
例如:
setProperty(“_root.mc.mc1”,_visible, false);//表示把影片mc下一個(gè)實(shí)例名為mc1的影片設(shè)置為不可見(jiàn)。
setProperty("_root.dm",_rotation,30);//表示要使實(shí)例名叫dm的影片剪輯轉(zhuǎn)動(dòng)30度。
getProperty()命令用來(lái)獲取MC的屬性,它的一般使用形式為:
getProperty(目標(biāo),屬性);
命令中有兩個(gè)參數(shù):
目標(biāo):被取屬性的MC實(shí)例的名稱(chēng);
屬性:要取得的MC的屬性。
例如:
mx= getProperty(“_root.mc.mc1”,_x);//取得影片mc下一個(gè)實(shí)例名為mc1的影片的橫坐標(biāo),并把它交給變量mx;
setProperty("_root.dm1",_y, getProperty("_root.dm0",_y));//表示設(shè)置影片dm1的縱坐標(biāo)為影片dm0的縱坐標(biāo)?;蛘哒f(shuō),取得影片dm0的縱坐標(biāo)的值,把這個(gè)值作為影片dm1的縱坐標(biāo)的值。這種方法經(jīng)常用在動(dòng)態(tài)地為影片設(shè)置屬性。
(3)使用點(diǎn)語(yǔ)法存取屬性值
除了用setProperty()和getProperty()命令設(shè)置和取得MC的屬性外,如果你的英語(yǔ)不錯(cuò),ActionScript運(yùn)用也比較熟練,那么你也可以用“.”點(diǎn)語(yǔ)法來(lái)設(shè)置或取得MC的屬性,有時(shí)候會(huì)覺(jué)得很方便。點(diǎn)語(yǔ)句的用法的一般形式為:
影片剪輯名稱(chēng).屬性=屬性值。
影片剪輯名稱(chēng)當(dāng)然包括它的路徑(后面會(huì)比較詳細(xì)地介紹路徑的概念)。下面我們以前面的例子來(lái)說(shuō)明。
setProperty(“_root.mc.mc1”,_visible, false);
可以寫(xiě)成:
_root.mc.mc1._visible=false;
setProperty("_root.dm",_rotation,30);
可以寫(xiě)成:
_root.dm._rotation=30;
mx= getProperty(“_root.mc.mc1”,_x);
可以寫(xiě)成:
mx= _root.mc.mc1._x;
setProperty("_root.dm1",_y, getProperty("_root.dm0",_y));
可以改寫(xiě)成兩句:
my=_root.dm0._y;
_root.dm1._y=my;
是不是有的情況下點(diǎn)語(yǔ)法更精練寫(xiě)呢?
聯(lián)系客服