第十二課:指令碼動畫的製作
12-1、什麼是指令碼(action script2.0和action script3.0)
(1)所謂的指令碼(又名為動作指令碼)指的就是一條命令語句,一段**,當某事件發生或某條件成立時,就會發出命令來執行設定的語句和**。從而可以製作互動性動畫。
(2)在flash中並不是任何物件都可以新增動作指令碼的,只有以下三類物件可以新增:
a、關鍵幀(也包括空白關鍵幀)
b、按鈕
c、影片剪輯
(3)如何給這些物件(包括關鍵幀、按鈕、影片剪輯)新增動作指令碼呢?要想為哪個物件新增動作指令碼首先要選中該物件,然後開啟動作面板就可以新增了。動作面板就是為各物件新增動作指令碼的地方。
(4)開啟動作面板的方法:
a、視窗——動作
b、按f9鍵
c、單擊右鍵
(5)動作面板的組成
12-2、各物件上指令碼執行的條件——幀指令碼
(1)以下三類物件可以新增指令碼:
a、關鍵幀(也包括空白關鍵幀)
b、按鈕
c、影片剪輯
(2)幀上的指令碼:在關鍵幀上新增的指令碼只有當磁頭**到這個幀時,**(指令碼)才會被執行。
(3)新增**時分為標準模式和專家模式兩種,在標準模式下只能通過選項去新增**,在專家模式下一般通過手工書寫新增**,在書寫**時**是區分大小寫的。如:play與play被認為兩種不同的含義。
(3)全域性函式——時間軸控制——goto/play/stop/stopallsound
stop:停止**影片。
12-3、goto語句的使用1
(1)全域性函式——時間軸控制——goto/play/stop/stopallsound
play:**影片
stopallsound:停止所有聲音。
goto:表示跳轉的意思,可以跳轉到指定的幀,也可以跳轉到指定的場景。
gotoandplay:表示跳轉到目的位置繼續**。
gotoandstop:表示跳轉到目的位置停止**。
12-4、goto語句的使用2
(1)幀標籤:給幀取個名字
(2)新建場景的方法:
方法一:插入——場景
方法二:視窗——其它面板——場景
(3)在乙個動畫中如果有多個場景動畫是按場景的順序進行**的。
12-5、指令碼動畫—loading進度條1
12-6、指令碼動畫—loading進度條2
(1)if….else…判斷語句的格式:(如果……否則……)
if(條件)
else
表示如果條件成立就執行語句1,否則(條件不成立)就執行語句2。
12-7、各物件上指令碼執行的條件——按鈕指令碼
(1)按鈕指令碼的格式:
on(滑鼠事件)
表示選擇不同的滑鼠事件來執行語句1
(2)按鈕上的指令碼:在按鈕上新增的指令碼可以通過以下方式來執行,這些方式統稱為滑鼠事件。
a、按(press):指滑鼠在按鈕上點下去。
b、釋放(release):指滑鼠在按鈕上點下去並釋放。
c、外部釋放(releaseoutside):指滑鼠在按鈕上點下去然後移動到按鈕外部釋放。
d、按鍵:指按鍵盤上某個鍵。
e、滑過(rollover):指滑鼠移到按鈕上。
f、滑離(rollout):指滑鼠移到按鈕上並離開。
g、拖過(dragover):在按鈕上按下滑鼠然後指標滑出按鈕區域,再次滑入按鈕區域時觸發。
f、拖離(dragout):在按鈕上按下滑鼠然後指標滑出按鈕區域時觸發。
12-8、指令碼例項--控制動畫的**
(1)prevframe:上一幀
(2)nextframe:下一幀
12-9、指令碼例項—網頁和郵箱的鏈結
(1)geturl:鏈結到乙個位址。(url:統一資源定位器)
(2)網頁鏈結:開頭要加http:\\
(3)郵箱鏈結:開頭要加mailto:
12-10、指令碼例項--隨機抽牌
(1)random:隨機函式
注:random(13):表示從0-12這13個數字當中隨機選乙個。
12-11、指令碼例項--全屏切換
(1)fs***mand函式
a、fullscreen:全屏
true:真(全屏)
false:假(標準)
b、quit:退出(關閉)
c、showmenu:顯示選單
d、allowscale:畫面縮放
(2)檔案——發布(可以同時生成多種格式檔案)
12-12、指令碼例項--框架1
(1)loadmovie:載入swf檔案或**等元素到當前影片中。
(2)所有的swf檔案必須放在同乙個資料夾中。
12-13、指令碼例項--框架2
12-14、指令碼例項--瀏覽**
12-15、各物件上指令碼執行的條件——影片剪輯指令碼
(1)影片剪輯指令碼的格式:
onclipevent(影片剪輯事件)
表示選擇不同的影片剪輯事件來執行語句1
(2)影片剪輯上的指令碼:在影片剪輯上新增的指令碼可以通過以下方式來執行,這些方式統稱為影片剪輯事件。
a、載入:影片剪輯被例項化,出現在時間軸上時觸發(當影片剪輯被載入時)
b、進入幀:當影片剪輯存在時間軸上時,以幀頻的頻率觸發。
c、解除安裝:當時間軸上影片剪輯被刪除時,優先觸發
d、滑鼠向下:指滑鼠點下去(左鍵)。
e、滑鼠向上:指滑鼠點下去後鬆開(左鍵)。
f、滑鼠移動:指移動滑鼠。
g、向下鍵:指按下鍵盤上某個鍵。
f、向上鍵:指釋放鍵盤上某個鍵。
12-16、路徑的概念1
(1)路徑:路徑用來描述物件所在的位置。
(2)路徑的分類:路徑分為絕對路徑和相對路徑
a、絕對路徑:表示從主場景開始來描述物件的位置,前面要加「_root」表示主場景。
b、相對路徑:表示從選定的物件位置開始來描述物體的位置,前面要加「this」表示選定的物件。
12-17、路徑的概念2
(1)預設情況下給按鈕新增的指令碼只對按鈕所在的場景起作用。
(2)點語法:點語法中的點(.)表示「……中的」。
12-18、指令碼例項—移動的選單1
12-19、指令碼例項—移動的選單2
12-20、startdrag與stopdrag
(1)startdrag:開始拖動。
(2)stopdrag:停止拖動。
12-21、指令碼例項—自定義游標
(1)載入:當影片剪輯被載入時
(2)隱藏游標可以通過:「actionscript 2.0類——影片——mouse——方法——hide」或者直接輸入:「mouse.hide()」也可以。(注意大小寫)
(3)對於同乙個動畫效果可以通過給不同的物件新增**來實現。
12-22、獲取影片剪輯的屬性
(1)屬性:在現實生活中每個物體都有自身的特徵和屬性。這些特徵和屬性包括大小、顏色、位置、不透明度等等。這些我們在flash中都稱之為屬性。
(2)影片剪輯的屬性包括:
_alpha:不透明度。
_height:高度。
_rotation:旋轉角度。
_visible:可見性。
_width:寬度。
_x:x方向的座標。
_xscale:水平方向縮放比例。
_y:y方向的座標。
_yscale:垂直方向縮放比例。
注意:在寫影片剪輯屬性時,前面要加下劃線「_」。
(3)獲取影片剪輯的屬性有以下兩種方法:
a、getproperty(路徑.例項名稱,例項屬性)
b、路徑.例項名稱.例項屬性
(4)getproperty:獲取影片剪輯的屬性。
12-23、指令碼例項—時時獲取小球的座標
(1) updateafterevent:更新舞台。
12-24、設定影片剪輯的屬性
(1)setproperty:設定影片剪輯的屬性。
(2)設定影片剪輯的屬性有以下兩種方法:
a、setproperty(路徑.例項名稱,例項屬性,設定數值)
b、路徑.例項名稱.例項屬性=設定數值
12-25、指令碼例項—遙控物件1
12-26、指令碼例項—遙控物件2
12-27、指令碼例項—遙控物件3
12-28、指令碼例項—遙控物件4
12-29、指令碼例項—下拉列表1
12-30、指令碼例項—下拉列表2
(1)_visible:表示物件的可見性。當值為true時表示可見,當值為false時表示不可見。
(2)當有多個按鈕同時設定了鏈結並且重疊一起時,只有最上面的按鈕起作用。
12-31、指令碼例項—無縫**滾動1
12-32、指令碼例項—無縫**滾動2
12-33、複製影片剪輯(duplicatemovieclip)函式
(1)duplicatemovieclip:複製影片剪輯。
格式:duplicatemovieclip(目標,新名稱,深度)
a、目標:指定要複製的物件。
b、新名稱:指定複製出來新物件名稱。
c、深度:指的是層。複製出來的多個新物件不能放在同乙個層中,否則容易被遮擋。
12-34、指令碼例項—下雨效果1
12-35、指令碼例項—下雨效果2
(1)「a」+i的含義:
a、「a」表示乙個字元a
b、i是一變數,也就是說當i=1時,「a」+i表示的是a1,當i=2時 「a」+i表示的是a2,依此類推。
(2)通過「a」+i這種書寫方式,可以根據i值的不斷變化,從而可以使複製出來的多個影片剪輯名稱保持不同。
12-36、指令碼例項—用自定義函式時時獲取滑鼠的位置
(1)函式的分類:函式分為庫函式和自定義函式兩種。
a、庫函式:比如像前面所講的duplicatemovieclip(複製影片剪輯)、setproperty(設定屬性)、getproperty(獲取屬性)等等都是庫函式,對於這些庫函式只要大家會呼叫會使用就行了。
b、自定義函式:為了讓一系列語句便於整體呼叫,可以將這一系列語句用大括號{}括起來,看成是乙個整體,並將這個整體取乙個名稱,這個名稱就是自定義函式名。
格式:function 自定義函式名(引數)
(2)return:用來返回自定義函式值。即自定義函式的值等於返回的值。還有一些自定義函式完成一系列任務以後,但不返回值。
(3)_xmouse:獲取滑鼠x方向座標值。
(4)_ymouse:獲取滑鼠y方向座標值。
(5)setinterval:定時函式。表示每隔多長時間就執行一次。(時間以毫秒作為單位)
格式:setinterval(函式名,間隔時間)
12-37、指令碼例項—計算圓的面積1
(1)輸入文字:這種文字可以在文字框內輸入文字。
Flash CS4計算間隔時間
actionscript輸出的時間是以字串形式存在,但是字串並不能進行加減運算。因此,如果想要計算兩個date物件之間的時間間隔,需要通過間接的方法。1 紀元時間 為了計算兩個時間的間隔,actionscript3.0為date物件引入了紀元時間這一概念,將1970年1月1日午夜0點0分0秒0毫秒作...
用flashCS4製作留言板
留言板1 啟動flash,選擇 視窗 開發面板 元件 命令,開啟元件面板。2 單擊文字工具,輸入標題 flash mx 留言板 換行輸入文字 呢稱 3 將元件面板中的 textarea 文字框 拖放到 呢稱 右邊,並開啟屬性面板,給它取名為 nc。4 換行輸入文字 性別 將 radiobutton ...
Flash CS4練習 製作心理測試程式
心理測試是通過一系列的手段,將人的某些心理特徵數量化,來衡量個體心理因素水平和個體性理差異的一種科學測量方法。本練習將製作乙個flash版的心理測試程式,可以根據使用者的選擇顯示相應的心理測試結果。操作過程 1 新建800 590畫素的空白文件,執行 檔案 匯入 匯入到舞台 命令,將 背景影象匯入到...