3-3 屬性
一、 實體屬性
Flash影片中的實體都有自己的屬性,下表是影片片段與按鈕實體常用的屬性。
屬性 |
說明 |
_alpha |
實體的Alpha透明度值。 |
enabled |
按鈕功能是否使用,true:可以使用,fale:不可使用。 |
_currentframe |
傳回播放磁頭所在影片片段的影格編號。 |
_height |
實體的高度,以像素為單位。 |
_name |
實體的名稱。 |
_quality |
設定或擷取SWF檔所使用顯示品質。 |
_rotation |
實體旋轉的度數。 |
_soundbuftime |
指定聲音在傳送前,預定緩衝的秒數。 |
tabEnabled |
指定是否實體包含在自動定位停駐點順序中。 |
tabIndex |
自訂實體的定位停駐點順序。 |
_target |
傳回實體的目標路徑。 |
_totalframe |
傳回影片片段實體中的影格總數。 |
_url |
擷取建立實體的SWF檔的URL。 |
_visible |
指示是否可以看見實體。 |
_width |
實體的寬度,以像素為單位。 |
_x |
實體相對於父影片片段區域座標的X座標。 |
_xmouse |
傳回滑鼠在主場景的X座標值。 |
_xscale |
設定實體水平縮放值(以百分比表示)。 |
_y |
實體相對於父影片片段區域座標的Y座標。 |
_ymouse |
傳回滑鼠在主場景的Y座標值。 |
_yscale |
設定實體垂直縮放值(以百分比表示)。 |
二、 with 陳述式
語法:
with(object) {
statement(s);
}
功能:
用object參數指定物件(如影片片段) ,則statement執行物件內的運算和動作時,不必重複寫物件的名稱或物件的路徑。
說明:
1. object:為影片片段或其他物件。
2. 可簡化程式碼效果 。
01 02 03 04 05 06 |
with (airplane_mc){ _x=100; _y=100; _rotation=0; } direction="右"; |
解說:
行01~06:如果不使用with陳述式,需改用下面陳述式:
airplane_mc._x = 100;
airplane_mc._y = 100;
airplane_mc. _rotation = 0;
飛機由左向右飛行,再由右向左飛行。
說明:
1.
執行【cho3/飛機旋轉.swf】檔案
2. 飛機剛開始在左邊,由左向右飛行。
3. 飛行一段距離後,飛機順時針旋轉180度。
4. 飛機由右向左飛行。
5. 飛回開始位置後,逆時針旋轉180度。
6. 飛機又向右飛行,一直反覆進行。
設計:
載入練習檔
1. 載入【cho3/飛機旋轉_練習.fla】檔案。
2. 元件庫有『飛機』影片片段,在此影片片段中的影格1只有一飛機圖像。
3. 本影片需要【標籤與說明】、【action】、【飛機】等三個圖層,每個圖層有5個影格。
【標籤與說明】圖層:
影格1:「初始」
影格2:「飛行1」
影格3:「飛行2」
影格4:「旋轉1」
影格5:「旋轉2」
【飛機】圖層:
將【飛機】影片片段置於舞台左上角位置,這個飛機的實體名稱為
『airplane_mc』。
【action】圖層:
影格1(初始):程式碼如下:
01 02 03 04 05 06 |
with (airplane_mc){ _x=100; _y=100; _rotation=0; } direction="右"; |
解說:
行02~03:飛機(airplane_mc)剛開始的位置(100,100)。
行04,06:飛機頭向右。
影格2(飛行1):程式碼如下:
01 02 03 04 05 06 07 08 09 10 11 12 13 |
if(direction == "右" ){ if( airplane_mc._x >= 200){ gotoandplay("旋轉1"); }else{ airplane_mc._x+=1; } }else{ if( airplane_mc._x <= 100){ gotoandplay("旋轉1"); }else{ airplane_mc._x-=1; } } |
解說:
行02~06:當飛機(airplane_mc)向右,水平位置超過200,飛機頭要進行旋轉,否則朝右繼續飛行。
行08~12:當飛機(airplane_mc)向左,水平位置小於100,飛機頭要進行旋轉,否則朝左繼續飛行。
影格3(飛行2):程式碼如下:
01 |
gotoandplay("飛行1"); // 與gotoandPlay(2);相同 |
解說:
行01:回到影格2繼續進行飛機飛行動作。
影格4(旋轉1):程式碼如下:
01 02 03 04 05 06 07 08 09 10 11 12 13 |
if(direction == "右"){ airplane_mc._rotation+=10; }else{ airplane_mc._rotation-=10; } if(direction==右" && airplane_mc._rotation>=180 ){ direction="左"; gotoandplay("飛行1"); } if(direction == "左" && airplane_mc._rotation<=0 ){ direction="右"; gotoandplay("飛行1"); } |
解說:
行02:當飛機(airplane_mc)向右,水平位置超過200,飛機頭進行順時針方向旋轉。
行04:當飛機(airplane_mc)向左,水平位置小於100,飛機頭進行逆時針方向旋轉。
行07~08:當飛機(airplane_mc)向右,飛機順時針方向旋轉到180度,飛機朝左飛行。
行11~12:當飛機(airplane_mc)向左,飛機逆時針方向旋轉回到0度,飛機朝右飛行。
5. 影格5(旋轉2):程式碼如下:
01 |
gotoandplay("旋轉1"); // 與gotoandPlay(4);相同 |
解說:
行1:
回到影格4繼續進行飛機旋轉動作。