Flash MX2004入門與進階實例——動作腳本進階(1)_Flash教程
推薦:Flash MX2004入門與進階實例——動作腳本(11)第六章動作腳本入門第四節基本命令和程序結構控制(4)(2)循環結構循環結構是三種基本程序結構之一。它通過一定的條件控制動作腳本中某一語句塊反復執行,
第七章 動作腳本進階第一節 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;
是不是有的情況下點語法更精練寫呢?
分享:Flash MX2004入門與進階實例——動作腳本(6)第六章動作腳本入門第三節事件和事件處理函數(1)凡是看過Flash作品的朋友,都會為它絢麗多彩的交互動畫所傾倒。交互功能使Flash不僅僅局限于演示型的動畫設
- 相關鏈接:
- 教程說明:
Flash教程-Flash MX2004入門與進階實例——動作腳本進階(1)。