標籤:actionscript flash 影片剪輯 鍵盤 移動
本文介紹ActionScript2.0使用鍵盤移動元件的做法。
一、基本準備
1、首先,開啟Flash,建立一個ActionScript2.0的檔案。建立之後直接儲存,如《【ActionScript】利用複製影片duplicateMovieClip與滑鼠拖動跟隨startDrag做出滑鼠移動特效》(點擊開啟連結)一樣,通過插入->建立元件(或者Ctril+F8)的方法,建立一個類型為:影片剪輯的執行個體。之後在元件1中,如,利用矩形工具,如,拖出一個矩形之後,利用選擇工具,對其全選,之後設定其位置與大小,這裡是大小為100x100px也就是寬高都為100,且X、Y為寬高的相反數的1/2的,也就是都為-50,使其置中。
2、之後切回到情境1,點開庫面板,或者按F11,拖入這個剛剛建立好影片剪輯,如,在屬性面版中,設定其執行個體名稱為square,然後位置和大小,分別為X:275,Y:200,使其位於情境1的中央,寬高同影片的寬高。之後,利用文本工具,在情境1,拖出一個文本,設定其為動態文本,位置與大小分別為X:0,Y:0,使其居左上,同時寬為400,高為50,字型大小為40,消除鋸齒為使用裝置字型,以免編譯的時候出現警告。在裡面輸入“X:275,Y:200”這幾個大字。之後,在變數名稱,設定其變數名為text。一會兒給指令碼控制。
3、之後,如,不同於之前的幾篇文章,這次是對那個矩形的影片剪輯,右擊,選擇動作,對其設定指令碼。
二、指令碼編程
ActionScript的任務主要是設定這個影片剪輯,在鍵盤按下時所實行的動作。如下:
onClipEvent(keyDown){//當按下鍵盤的時候觸發這個函數var intCode=Key.getCode();//擷取鍵盤鍵位碼var intX=getProperty("_root.square",_x);//擷取正方形的X、Y座標var intY=getProperty("_root.square",_y);_root.text="X:"+intX+",Y:"+intY;//將座標賦予到動態文本if(intCode==37 and intX>50){//如果是←且正方形沒到左邊界,則把長方形向左移動3個像素,之後以此類推setProperty("_root.square",_x,intX-3);}if(intCode==38 and intY>100){setProperty("_root.square",_y,intY-3);}if(intCode==39 and intX<500){setProperty("_root.square",_x,intX+3);}if(intCode==40 and intY<350){setProperty("_root.square",_y,intY+3);}}利用getProperty可以擷取影片剪輯的座標,setProperty可以設定影片剪輯的座標,_x與_y表示設定的屬性。
上面指令碼根據按下的鍵盤鍵位不同,而對影片剪輯做不同的動作。
由於這裡存在情境與影片剪輯,必須用_root.開頭,來指明這是情境內,而不是影片剪輯的東西。
雖然這個Flash影片的大小為550x400px,但在計算邊界座標要減去影片剪輯的一半大小。因為影片剪輯的座標是按中心算的。
按Ctrl+Enter編譯之後,得到如下的效果:
【ActionScript】使用鍵盤移動元件