http://www.yindaoxian.com/html/design/flash-11821.html
本例為Flash AS3.0菜鳥學飛系列教程,在本Flash AS3.0教程中我們將通過學習一個老鷹飛動執行個體講解如何載入庫中的影片剪輯將製作成動畫效果,希望能給朋友們帶來協助~~。
學習AS3.0菜鳥起飛之—載入庫中的影片剪輯
在Flash創作環境中,可以從庫中拖拽影片剪輯到舞台上,使它們出現在SWF檔案中。當使用ActionScript來添加影片剪輯時,實際上也是將影片添加一個執行個體到時間軸上。幀是時間軸的一部分,你可以使用動作面板將as代碼與幀關聯。因此時間軸成了用as代碼添加的顯示對象的父容器,除非另一個顯示對象被指定。
添加一個影片剪輯到目前時間軸:
下面的例子從.fla庫中匯入一個名為“鷹”的影片剪輯
1、建立Flash文檔(AS3),存檔。
2、開啟“鷹”的影片剪輯,複製到庫中,(在這裡不講解影片剪輯製作的過程)。
3、右鍵點擊“鷹”影片剪輯,在下拉式功能表中點擊【屬性】開啟屬性面板,勾選【為AstionScript匯出】在類:文字框中輸入:hawk,按【確定】如圖:
4、返回情境1,選中圖層1的第幀,按F9鍵,開啟動作面板輸入代碼:
var myhaw:hawk = new hawk(); addChild(myhaw); |
第一行用var聲明一個執行個體名:myhaw給影片剪輯。
第二行用addChild()命令將執行個體myhaw加入顯示列表。
提示:當沒有明確指定顯示容器時,影片剪輯執行個體是被添加到時間軸的當前幀。
我們按Ctrl+Enter按鍵組合,測試一下,影片已經顯示在螢幕上了。參見未命名1.fla文檔
5、我們已經把影片剪輯添加到時間軸上了,下面我們繼續添加代碼,做一個鷹跟隨滑鼠移動。開啟動
作面板,加入下面代碼:
var myhaw:hawk = new hawk(); //註冊按一下滑鼠事件接聽程式 stage.addEventListener(MouseEvent.CLICK, addhawk);
//定義接聽程式函數 function addhawk(e:MouseEvent):void { addChild(myhaw); }
//註冊滑鼠移動事件接聽程式 stage.addEventListener(MouseEvent.MOUSE_MOVE, movehaw);
//定義移動事件接聽程式函數 function movehaw(e:MouseEvent):void { //使myhaw位於滑鼠位置 myhaw.x = stage.mouseX; myhaw.y = stage.mouseY; } |
上面的樣本使用了事件的處理和函數的聲明。參見未命名2.fla文檔
下面是一個影片剪輯拖放的樣本:
具體建立過程不再重複,參照上面樣本
不再廢話,直接上代碼:
//聲明執行個體 var myhaw:hawk = new hawk(); //添加到顯示列表 addChild(myhaw); //myhaw位置(x,y座標) myhaw.x = 100; myhaw.y = 100;
//註冊滑鼠按下事件接聽程式 myhaw.addEventListener(MouseEvent.MOUSE_DOWN, draghaw); //註冊滑鼠釋放事件接聽程式 myhaw.addEventListener(MouseEvent.MOUSE_UP, drophaw);
//定義滑鼠按下事件接聽程式函數 function draghaw(dragevent:MouseEvent):void { //開始拖動 dragevent.currentTarget.startDrag(); } //定義滑鼠釋放事件接聽程式函數 function drophaw(dropevent:MouseEvent):void { //停止拖動 dropevent.currentTarget.stopDrag(); } |
按下滑鼠拖拽物體,當釋放滑鼠時,物體會停止跟隨指標。參見未命名3.fla文檔
添加一個影片剪輯到一個容器
DisplayObjectContainer對象(和繼承DisplayObjectContainer類所建立的對象)可以包含零個或多個顯示項目。
就像移動容器一樣,所有容器物件中的顯示項目相對容器移動。
樣本:
1、建立Flash文檔(AS3),開啟未命名1.fla檔案。
2、使用庫的下拉式功能表來選擇“未命名1.fla”的庫。如圖:
3、將“鷹”影片剪輯從庫中拖放到舞台上。
4、通過庫的下拉式功能表選擇回到新檔案的庫。如圖:
注意:“鷹”的影片剪輯及相關素材已經列在當前檔案的庫中了。
5、刪除舞台上的影片剪輯。
6、選擇時間軸第1幀,命名:as,開啟動作面板,輸入代碼:
//聲明執行個體 var myhaw:hawk = new hawk(); //添加到顯示列表 addChild(myhaw); //myhaw位置(x,y座標) myhaw.x = 100; myhaw.y = 100;
//註冊滑鼠按下事件接聽程式 myhaw.addEventListener(MouseEvent.MOUSE_DOWN, draghaw); //註冊滑鼠釋放事件接聽程式 myhaw.addEventListener(MouseEvent.MOUSE_UP, drophaw);
//定義滑鼠按下事件接聽程式函數 function draghaw(dragevent:MouseEvent):void { //開始拖動 dragevent.currentTarget.startDrag(); } //定義滑鼠釋放事件接聽程式函數 function drophaw(dropevent:MouseEvent):void { //停止拖動 dropevent.currentTarget.stopDrag(); } |
7、建立圖層,並把它拖到as層的下方,重新命名為text。選中第1幀,使用文字工具在舞台上輸入:點擊並移動mySprite,到(150,200)座標位置。(mySprite是影片剪輯的容器)
8、測試影片。參見未命名4.fla檔案
Flash Player播放SWF檔案,預設情況下,影片剪輯顯示在舞台的左上方。代碼中一個事件接聽程式用於響應滑鼠點擊,當點擊舞台的任何地方時,影片剪輯的註冊點都被重新置放於距離舞台上方150個像素,距離舞台左邊200個像素的位置。