學(xué)習(xí)AS3.0菜鳥起飛之—載入庫中的影片剪輯
在Flash創(chuàng)作環(huán)境中,可以從庫中拖拽影片剪輯到舞臺上,使它們出現(xiàn)在SWF文件中。當(dāng)使用ActionScript來添加影片剪輯時,實際上也是將影片添加一個實例到時間軸上。幀是時間軸的一部分,你可以使用動作面板將as代碼與幀關(guān)聯(lián)。因此時間軸成了用as代碼添加的顯示對象的父容器,除非另一個顯示對象被指定。
添加一個影片剪輯到當(dāng)前時間軸:
下面的例子從.fla庫中導(dǎo)入一個名為“鷹”的影片剪輯
1、新建Flash文檔(AS3),存盤。
2、打開“鷹”的影片剪輯,復(fù)制到庫中,(在這里不講解影片剪輯制作的過程)。
3、右鍵點擊“鷹”影片剪輯,在下拉菜單中點擊【屬性】打開屬性面板,勾選【為AstionScript導(dǎo)出】在類:文本框中輸入:hawk,按【確定】如圖:
4、返回場景1,選中圖層1的第幀,按F9鍵,打開動作面板輸入代碼:
var myhaw:hawk = new hawk();
addChild(myhaw);
第一行用var聲明一個實例名:myhaw給影片剪輯。
第二行用addChild()命令將實例myhaw加入顯示列表。
提示:當(dāng)沒有明確指定顯示容器時,影片剪輯實例是被添加到時間軸的當(dāng)前幀。
我們按Ctrl+Enter組合鍵,測試一下,影片已經(jīng)顯示在屏幕上了。參見未命名1.fla文檔
5、我們已經(jīng)把影片剪輯添加到時間軸上了,下面我們繼續(xù)添加代碼,做一個鷹跟隨鼠標(biāo)移動。打開動
作面板,加入下面代碼:
var myhaw:hawk = new hawk();
//注冊鼠標(biāo)單擊事件偵聽器
stage.addEventListener(MouseEvent.CLICK, addhawk);
//定義偵聽器函數(shù)
function addhawk(e:MouseEvent):void {
addChild(myhaw);
}
//注冊鼠標(biāo)移動事件偵聽器
stage.addEventListener(MouseEvent.MOUSE_MOVE, movehaw);
//定義移動事件偵聽器函數(shù)
function movehaw(e:MouseEvent):void {
//使myhaw位于鼠標(biāo)位置
myhaw.x = stage.mouseX;
myhaw.y = stage.mouseY;
}
上面的示例使用了事件的處理和函數(shù)的聲明。參見未命名2.fla文檔
下面是一個影片剪輯拖放的示例:
具體創(chuàng)建過程不再重復(fù),參照上面示例
不再廢話,直接上代碼:
//聲明實例
var myhaw:hawk = new hawk();
//添加到顯示列表
addChild(myhaw);
//myhaw位置(x,y坐標(biāo))
myhaw.x = 100;
myhaw.y = 100;
//注冊鼠標(biāo)按下事件偵聽器
myhaw.addEventListener(MouseEvent.MOUSE_DOWN, draghaw);
//注冊鼠標(biāo)釋放事件偵聽器
myhaw.addEventListener(MouseEvent.MOUSE_UP, drophaw);
//定義鼠標(biāo)按下事件偵聽器函數(shù)
function draghaw(dragevent:MouseEvent):void {
//開始拖動
dragevent.currentTarget.startDrag();
}
//定義鼠標(biāo)釋放事件偵聽器函數(shù)
function drophaw(dropevent:MouseEvent):void {
//停止拖動
dropevent.currentTarget.stopDrag();
}
按下鼠標(biāo)拖拽物體,當(dāng)釋放鼠標(biāo)時,物體會停止跟隨指針。參見未命名3.fla文檔
添加一個影片剪輯到一個容器
DisplayObjectContainer對象(和繼承DisplayObjectContainer類所創(chuàng)建的對象)可以包含零個或多個顯示項。
就像移動容器一樣,所有容器對象中的顯示項相對容器移動。
示例:
1、新建Flash文檔(AS3),打開未命名1.fla文件。
2、使用庫的下拉菜單來選擇“未命名1.fla”的庫。如圖:
3、將“鷹”影片剪輯從庫中拖放到舞臺上。
4、通過庫的下拉菜單選擇回到新文件的庫。如圖:
注意:“鷹”的影片剪輯及相關(guān)素材已經(jīng)列在當(dāng)前文件的庫中了。
5、刪除舞臺上的影片剪輯。
6、選擇時間軸第1幀,命名:as,打開動作面板,輸入代碼:
//聲明實例
var myhaw:hawk = new hawk();
//添加到顯示列表
addChild(myhaw);
//myhaw位置(x,y坐標(biāo))
myhaw.x = 100;
myhaw.y = 100;
//注冊鼠標(biāo)按下事件偵聽器
myhaw.addEventListener(MouseEvent.MOUSE_DOWN, draghaw);
//注冊鼠標(biāo)釋放事件偵聽器
myhaw.addEventListener(MouseEvent.MOUSE_UP, drophaw);
//定義鼠標(biāo)按下事件偵聽器函數(shù)
function draghaw(dragevent:MouseEvent):void {
//開始拖動
dragevent.currentTarget.startDrag();
}
//定義鼠標(biāo)釋放事件偵聽器函數(shù)
function drophaw(dropevent:MouseEvent):void {
//停止拖動
dropevent.currentTarget.stopDrag();
}
7、新建圖層,并把它拖到as層的下方,重命名為text。選中第1幀,使用文字工具在舞臺上輸入:點擊并移動mySprite,到(150,200)坐標(biāo)位置。(mySprite是影片剪輯的容器)
8、測試影片。參見未命名4.fla文件
Flash Player播放SWF文件,默認(rèn)情況下,影片剪輯顯示在舞臺的左上角。代碼中一個事件偵聽器用于響應(yīng)鼠標(biāo)點擊,當(dāng)點擊舞臺的任何地方時,影片剪輯的注冊點都被重新定位于距離舞臺上方150個像素,距離舞臺左邊200個像素的位置。
新聞熱點
疑難解答