第09章動(dòng)畫制作課件_第1頁
第09章動(dòng)畫制作課件_第2頁
第09章動(dòng)畫制作課件_第3頁
第09章動(dòng)畫制作課件_第4頁
第09章動(dòng)畫制作課件_第5頁
已閱讀5頁,還剩170頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第九章ActionScript編程基礎(chǔ) ActionScript介紹 ActionScript的術(shù)語 ActionScript的語法 數(shù)據(jù)類型 變量變量 函數(shù)與運(yùn)算符函數(shù)與運(yùn)算符 事件與動(dòng)作事件與動(dòng)作 條件循環(huán)控制條件循環(huán)控制 第9章 ActionScript編程基礎(chǔ) 制作交互動(dòng)畫 應(yīng)用舉例魔力彩色球 本章小結(jié) 習(xí)題九第9章 ActionScript編程基礎(chǔ) ActionScript的中文譯名為“動(dòng)作腳本”,它是Flash專用的一種編程語言,與JavaScript有著相似的結(jié)構(gòu),都是采用面向?qū)ο蟮木幊趟枷刖帉懙?。使用ActionScript,用戶可以控制動(dòng)畫的播放和停止、指定對(duì)鼠標(biāo)動(dòng)作的響應(yīng)、

2、實(shí)現(xiàn)網(wǎng)頁的鏈接、制作精彩的游戲以及創(chuàng)建網(wǎng)頁等,大大增強(qiáng)了Flash動(dòng)畫的交互性。在Flash 8中,添加ActionScript的操作步驟如下:(1)選中要添加ActionScript的按鈕、幀或者影片剪輯。(2)選擇“窗口”“動(dòng)作”命令,打開動(dòng)作面板,如圖9.1.1所示。第一節(jié) ActionScript介紹第9章 ActionScript編程基礎(chǔ) 圖9.1.1 動(dòng)作面板動(dòng)作列表程序區(qū)第9章 ActionScript編程基礎(chǔ) (3)在動(dòng)作列表中找到所需的Action(動(dòng)作),雙擊鼠標(biāo)左鍵,將其添加到程序區(qū)中(見圖9.1.2),然后進(jìn)行相關(guān)的設(shè)置即可。注意:在編寫過程中,對(duì)于所添加的Action

3、Script,系統(tǒng)會(huì)檢查其語法是否正確,并提示用戶如何修改。圖9.1.2 添加動(dòng)作第9章 ActionScript編程基礎(chǔ) ActionScript和其他腳本語言一樣,也要根據(jù)特定的語法規(guī)則,使用專門的術(shù)語。下面將列出一些重要的ActionScript術(shù)語,并做簡(jiǎn)要的介紹。(1)Action(動(dòng)作):動(dòng)作是在播放動(dòng)畫時(shí)指示動(dòng)畫文件執(zhí)行某些任務(wù)的語句。例如,Stop動(dòng)作用于停止動(dòng)畫的播放。(2)Events(事件):事件指正在播放動(dòng)畫時(shí)發(fā)生的動(dòng)作。例如,鼠標(biāo)的經(jīng)過、單擊與離開,鍵盤上某鍵的敲擊等都可作為事件。第二節(jié) ActionScript的術(shù)語第9章 ActionScript編程基礎(chǔ) (3)O

4、bjects(對(duì)象):對(duì)象是屬性和方法的集合,它允許用戶訪問某種類型的信息。例如,用戶通過Date()對(duì)象可以訪問來自系統(tǒng)時(shí)鐘的信息。(4)Variables(變量):變量是一種可以保留任何數(shù)據(jù)類型值的標(biāo)識(shí)符。它可以被創(chuàng)建、改變或者更新。例如,在以下代碼中等號(hào)左邊的標(biāo)識(shí)符就是變量。a=50;width=25;hername= csquare;第9章 ActionScript編程基礎(chǔ) (5)Properties(屬性):屬性是對(duì)象的某種性質(zhì),例如,_visible是所有影片剪輯的一個(gè)屬性,用于定義其是顯示還是隱藏。(6)Arguments(參數(shù)):參數(shù)可以把值傳遞給函數(shù)。例如,在以下代碼中參數(shù)f

5、irstName和hobby把值傳遞給了welcome()函數(shù)。function welcome(firstName, hobby) welcomeText = “Hello, ” + firstName + “I see you enjoy ” + hobby;第9章 ActionScript編程基礎(chǔ) (7)Classes(類):類是一種數(shù)據(jù)類型,用于定義新的對(duì)象,可以通過定義一個(gè)構(gòu)造函數(shù)來定義類。(8)Constants(常量):常量是不可改變的元素。例如,常量Key.TAB總是用來代表鍵盤上的Tab鍵。(9)Constructors(結(jié)構(gòu)體):結(jié)構(gòu)體是用于定義類的函數(shù)。例如,在以下代碼中

6、通過創(chuàng)建函數(shù)Circle()來定義一個(gè)新的圓類。function Circle(x, y, radius)this.x = x;this.y = y;this.radius = radius;第9章 ActionScript編程基礎(chǔ) (10)Datatypes(數(shù)據(jù)類型):數(shù)據(jù)類型用于描述變量或動(dòng)作腳本元素可以包含信息的種類,例如,動(dòng)作腳本數(shù)據(jù)類型包含字符串、數(shù)字、布爾值、對(duì)象、影片剪輯、函數(shù)、空值和未定義。(11)Expressions(表達(dá)式):表達(dá)式是語句中能夠產(chǎn)生一個(gè)值的任意部分。例如,2+2就是一個(gè)表達(dá)式。(12)Functions(函數(shù)):函數(shù)是可以傳送參數(shù)并能返回值的可重用代碼塊

7、。例如函數(shù)getVersion()可以返回當(dāng)前正在播放動(dòng)畫的Flash播放器的版本。(13)Handlers(事件處理函數(shù)):事件處理函數(shù)是用于管理諸如mouseDown或load等事件的特殊函數(shù)。第9章 ActionScript編程基礎(chǔ) (14)Identifiers(標(biāo)識(shí)符):標(biāo)識(shí)符是用于識(shí)別某個(gè)變量、特性、對(duì)象、函數(shù)或方法的名稱。它的第一個(gè)字符必須是字母、下畫線或貨幣符號(hào),其后的字符必須是字母、下畫線、貨幣符號(hào)或數(shù)字。例如,firstQuestion是一個(gè)合法的標(biāo)識(shí)符,而10 xyz不是合法的標(biāo)識(shí)符。(15)Instances(實(shí)例):實(shí)例是屬于某個(gè)類的對(duì)象。一個(gè)類可以產(chǎn)生若干個(gè)類的實(shí)例

8、,且每個(gè)實(shí)例都將包含該類的所有特性和方法。例如,所有的影片剪輯都是MovieClip類的實(shí)例,因此可以將MovieClip類的方法或?qū)傩杂糜谌魏斡捌糨媽?shí)例。第9章 ActionScript編程基礎(chǔ) (16)Instancenames(實(shí)例名稱):實(shí)例名稱是腳本中用來表示影片剪輯實(shí)例或按鈕實(shí)例的唯一名稱。例如,在以下代碼中實(shí)例名稱為csquare的影片剪輯實(shí)例復(fù)制了8次。do duplicateMovieClip(“csquare”,“csquare”+i,i)i=i+1;while(i=8);(17)Keywords(關(guān)鍵字):關(guān)鍵字是具有特定意義的保留字。例如,var是一個(gè)用來聲明本地變量

9、的關(guān)鍵字。第9章 ActionScript編程基礎(chǔ) (18)Methods(方法):方法是分配給一個(gè)對(duì)象的函數(shù)。一個(gè)函數(shù)被分配之后,它可作為對(duì)象的方法被調(diào)用。例如,在以下代碼中clear變成了controller對(duì)象的方法。function Reset()x_pos = 0;x_pos = 0;controller.clear = Reset;controller.clear();(19)Operators(運(yùn)算符):運(yùn)算符是通過一個(gè)或多個(gè)值計(jì)算新值的符號(hào)。例如,加法運(yùn)算符用于把兩個(gè)或多個(gè)值加到一起,產(chǎn)生一個(gè)新值。第9章 ActionScript編程基礎(chǔ) (20)Target paths(目標(biāo)

10、路徑):目標(biāo)路徑是變量、對(duì)象和影片剪輯實(shí)例的名稱所組成的表達(dá)結(jié)構(gòu)。使用目標(biāo)路徑可以獲取某個(gè)變量的值。例如,以下代碼就是指向影片剪輯stereoControl中的volume變量的目標(biāo)路徑。_root.stereoControl.volume第9章 ActionScript編程基礎(chǔ) 下面列出ActionScript的一些通用語法規(guī)則,用戶必須遵守這些語法規(guī)則才能創(chuàng)建可正確編譯和運(yùn)行的腳本。(1)區(qū)分大小寫。在Flash 8中,所有的關(guān)鍵字、類名、變量、方法名、外部腳本等均區(qū)分大小寫。例如,book和Book將被視為不同內(nèi)容。(2)點(diǎn)語法。在ActionScript中,點(diǎn)“.”被用于指明某個(gè)對(duì)象或

11、影片剪輯的屬性和方法,也可用于標(biāo)識(shí)影片剪輯或變量的目標(biāo)路徑。點(diǎn)語法表達(dá)式以跟有一個(gè)點(diǎn)的對(duì)象或影片剪輯的名稱開始,以要指定的屬性、方法或者變量作為結(jié)束。例如,在以下代碼中_width指明cs影片剪輯的寬度。cs._width;第三節(jié) ActionScript的語法第9章 ActionScript編程基礎(chǔ) (3)大擴(kuò)號(hào)。ActionScript使用大括號(hào)“”劃分語句塊,例如:onClipEvent(load) top=_y; left=_x; right=_x; bottom=_y+100;(4)分號(hào)。ActionScript語句使用分號(hào)“;”作為結(jié)束,如果將分號(hào)省略,F(xiàn)lash仍然能夠成功地編譯

12、腳本,例如:Mouse.hide()startDrag(cs, true)第9章 ActionScript編程基礎(chǔ) (5)小括號(hào)。當(dāng)用戶定義一個(gè)函數(shù)時(shí),要把參數(shù)放置在小括號(hào)“( )”內(nèi),例如:myFunction(“csquare”,20,true);另外,可以使用小括號(hào)來改變ActionScript的優(yōu)先級(jí)。(6)注釋。通過在腳本中添加注釋,將有助于理解用戶關(guān)注的內(nèi)容,以及向其他開發(fā)人員提供信息。要指示某一行或一行的某一部分是注釋,應(yīng)在該注釋前加兩個(gè)斜杠(/),例如:function Line(x1,y1,x2,y2)/定義Line函數(shù)第9章 ActionScript編程基礎(chǔ) 注意:注釋在程

13、序區(qū)中以暗色顯示,如圖9.3.1所示。圖9.3.1 注釋在程序區(qū)中以暗色顯示第9章 ActionScript編程基礎(chǔ) (7)關(guān)鍵字。ActionScript保留了一些標(biāo)識(shí)符作為內(nèi)置對(duì)象、函數(shù)等的標(biāo)識(shí)。這些標(biāo)識(shí)符就是關(guān)鍵字,用戶在編程過程中,不能用這些關(guān)鍵字作為變量、函數(shù)或標(biāo)簽的標(biāo)識(shí)。第9章 ActionScript編程基礎(chǔ) 在Flash 8中,內(nèi)置了基本數(shù)據(jù)類型和引用數(shù)據(jù)類型兩種數(shù)據(jù)類型。其中,基本數(shù)據(jù)類型是指字符串、數(shù)字、布爾數(shù)等,它們都有一個(gè)不變的值,可以保存它們所表示元素的實(shí)際值;引用數(shù)據(jù)類型是指影片剪輯或?qū)ο蟮龋鼈兊闹悼梢愿淖?,所以它們所包含的是?duì)元素實(shí)際值的引用。下面對(duì)Action

14、Script中的各種數(shù)據(jù)類型進(jìn)行介紹。(1)MovieClip(影片剪輯):影片剪輯是Flash應(yīng)用程序中可以播放動(dòng)畫的元件,它們是唯一一種可以引用圖形元素的數(shù)據(jù)類型。第四節(jié) 數(shù)據(jù)類型第9章 ActionScript編程基礎(chǔ) (2)Objcet(對(duì)象):對(duì)象是屬性的集合,每個(gè)屬性都有相應(yīng)的名字和值,屬性值可以是任何一種數(shù)據(jù)類型,甚至可以是對(duì)象數(shù)據(jù)類型,從而使對(duì)象相互包含即所謂的嵌套。可以使用內(nèi)置動(dòng)作腳本對(duì)象來訪問和處理特定種類信息。例如,可以通過Math對(duì)象的方法來對(duì)傳遞給它的數(shù)字進(jìn)行數(shù)學(xué)運(yùn)算。例如,下面的語句使用Math對(duì)象的Sqrt方法對(duì)數(shù)字100進(jìn)行求平方根運(yùn)算,并將運(yùn)算的結(jié)果賦給變量s

15、quareRoot:squareRoot=Math.sqrt(100);另外,動(dòng)作腳本的電影片段對(duì)象具有可以控制舞臺(tái)上的電影片段實(shí)例的方法,下面語句使用了play和nextFrame方法:第9章 ActionScript編程基礎(chǔ) mcInstanceName.play();mc2InstanceName.nextFrame();(3)Boolean(布爾值):在動(dòng)作腳本中布爾值經(jīng)常和邏輯運(yùn)算符或比較運(yùn)算符一起使用,用于進(jìn)行比較和控制一個(gè)程序腳本的流程。布爾值有且僅有true和false兩種,在需要時(shí),ActionScript也可以將true和false轉(zhuǎn)化成1和0。例如,在下面的例子中,如果變

16、量Name和變量Password的值都為true,則電影片段就開始播放: onClipEvent(enterFrame) if (Name=true)&(password=true) play()第9章 ActionScript編程基礎(chǔ) (4)Number(數(shù)字):數(shù)據(jù)類型中的數(shù)字是一個(gè)雙精度的浮點(diǎn)型數(shù)字。可以使用算術(shù)運(yùn)算符來處理數(shù)字,也可使用內(nèi)置的Math和Number類的方法來處理數(shù)字。(5)String(字符串):字符串是由字母、數(shù)字、標(biāo)點(diǎn)等組成的字符序列,應(yīng)用字符串時(shí)要將其放在單引號(hào)或雙引號(hào)中。例如,下面語句中的“chen”就是一個(gè)字符串:firstname=“chen”;可以

17、使用“+”運(yùn)算符連接兩個(gè)字符串,此時(shí),動(dòng)作腳本會(huì)精確地保留在字符串兩端出現(xiàn)的空格。例如,下面的語句執(zhí)行后,“introduce”就是“Im chen”。firstname=“chen”;introduce=Im+firstname;第9章 ActionScript編程基礎(chǔ) 由于字符串以引號(hào)作為開始和結(jié)束的標(biāo)記,所以要想在一個(gè)字符串中包括一個(gè)單引號(hào)或雙引號(hào),需要在其前面加上一個(gè)反斜杠“”,這就是所謂的將字符轉(zhuǎn)義。在動(dòng)作腳本中還有其他的一些字符可以被轉(zhuǎn)義,如表9.1所示。第9章 ActionScript編程基礎(chǔ) 表9.1 轉(zhuǎn)義字符轉(zhuǎn)義字符轉(zhuǎn)義結(jié)果bBackspacef走紙換頁n換行符r回車符t制表

18、符(Tab)雙引號(hào)單引號(hào)反斜線符號(hào)000377一個(gè)八進(jìn)制字符,占一個(gè)字節(jié)x00 xFF一個(gè)十六進(jìn)制字符,占一個(gè)字節(jié)u0000uFFFF一個(gè)十六進(jìn)制的16位Unicode字符,占兩個(gè)字節(jié)第9章 ActionScript編程基礎(chǔ) (6)Null(空值):Null表示空值,可以在以下4種情況下使用: 1)變量尚未接收到值。 2)變量不再包含值。 3)作為函數(shù)的返回值時(shí),函數(shù)沒有可以返回的值。 4)作為函數(shù)的參數(shù)時(shí),省略了一個(gè)參數(shù)。(7)Undefined(未定義):Undefined表示未定義的數(shù)據(jù)類型的值,用于尚未分配值的變量。第9章 ActionScript編程基礎(chǔ) 變量是存儲(chǔ)信息的容器,容器本

19、身總是不變的,但內(nèi)容可以改變。當(dāng)播放動(dòng)畫時(shí),通過變量可以記錄和保存用戶操作的信息,記錄動(dòng)畫播放時(shí)改變了的值,或者判斷某些條件是真還是假。當(dāng)首次定義一個(gè)變量時(shí),最好為該變量指定一個(gè)已知值,即對(duì)變量進(jìn)行初始化操作,從而使用戶能夠更容易地跟蹤和比較變量的值。第五節(jié) 變 量第9章 ActionScript編程基礎(chǔ) ActionScript中的變量可以保存所有類型的數(shù)據(jù),包括String,Number,Boolean,Object以及MovieClip等,當(dāng)某個(gè)變量在一個(gè)腳本中被賦值時(shí),變量包含的數(shù)據(jù)類型將影響變量值的改變。一、變量的命名規(guī)則為變量命名必須遵守以下規(guī)則:(1)變量名必須是一個(gè)標(biāo)識(shí)符。(2

20、)變量名不能是一個(gè)關(guān)鍵字或布爾值(true或false)。(3)變量名在它的作用范圍內(nèi)必須是唯一的。二、變量的輸入在ActionScript中,不需要明確地定義一個(gè)變量要保存為何種數(shù)據(jù)類型。當(dāng)變量被賦值時(shí),F(xiàn)lash會(huì)自動(dòng)確定這個(gè)變量的第9章 ActionScript編程基礎(chǔ) 數(shù)據(jù)類型。例如: x=7;y=“name”;在表達(dá)式“x=7”中,F(xiàn)lash 8會(huì)計(jì)算操作符右邊的元素,并且確定x是一個(gè)數(shù)值型變量。在表達(dá)式“y=”name“”中,系統(tǒng)會(huì)把y的類型改為字符串型。當(dāng)表達(dá)式需要時(shí),ActionScript還會(huì)自動(dòng)變換變量的類型,例如,當(dāng)把一個(gè)值傳遞給trace動(dòng)作時(shí),trace動(dòng)作會(huì)自動(dòng)將接

21、收到的值轉(zhuǎn)換成字符串??梢允褂眠@個(gè)動(dòng)作來調(diào)試腳本、跟蹤變量的值以及跟蹤腳本的分支流向。第9章 ActionScript編程基礎(chǔ) 在含有操作符的表達(dá)式中,ActionScript會(huì)根據(jù)需要變換數(shù)據(jù)類型,例如,當(dāng)“+”操作符被用于一個(gè)字符串中時(shí),ActionScript會(huì)自動(dòng)將另一個(gè)數(shù)據(jù)的類型轉(zhuǎn)換為字符串(如果它不是字符串),例如:“Next in line,number”+7ActionScript會(huì)自動(dòng)將數(shù)字7轉(zhuǎn)換成字符串“7”,并將其加載到第一個(gè)字符串的后面形成一個(gè)更長(zhǎng)的字符串:“Next in line,number7”。第9章 ActionScript編程基礎(chǔ) 三、變量的作用范圍變量的作

22、用范圍是指能夠識(shí)別和引用該變量的區(qū)域。在ActionScript中,變量可以是全局變量和局部變量。全局變量可以在所有的時(shí)間軸中共享,而局部變量?jī)H在它所在的代碼塊中有效。用戶可以在腳本中用var語句聲明一個(gè)局部變量,例如,在以下代碼中,i被用做局部變量。Function makeDays()var ifor(i =0; i monthArraymonth;i+)第9章 ActionScript編程基礎(chǔ) _root.Days.attachMovie(“DayDisplay”,i,i+2000);_root.Daysi.num=i+1;_root.Daysi._x=column*_root.Days

23、i._width;_root.Daysi._y=row*_root.Daysi._height;column=column+1;if(column=7)column=0;row=row+1;第9章 ActionScript編程基礎(chǔ) 使用局部變量可以有效地防止名稱的沖突,所以被大量地使用。但在有些情況下必須使用全局變量,例如,要在一個(gè)代碼塊中引用另一個(gè)代碼塊中的變量,或者要在整個(gè)動(dòng)畫中傳遞某個(gè)變量的值,在這些情況下,全局變量將會(huì)發(fā)揮巨大的作用。四、變量聲明在Flash 8中,可以用set variables語句或賦值操作符(=)來聲明全局變量,用var語句聲明局部變量。其中,局部變量的作用范圍限

24、定在聲明它的代碼塊中,并在代碼塊結(jié)束時(shí)失效。第9章 ActionScript編程基礎(chǔ) 五、在腳本中使用變量要將變量在腳本中使用,首先必須在腳本中聲明這個(gè)變量,如果使用了未做聲明的變量,則將會(huì)得到一個(gè)錯(cuò)誤值。另外,還可以在一個(gè)腳本中多次改變一個(gè)變量的值。變量包含的數(shù)據(jù)類型將對(duì)變量的改變方式產(chǎn)生影響。原始的數(shù)據(jù)類型,如字符串和數(shù)字等,將以值進(jìn)行傳遞,也就是說變量的實(shí)際內(nèi)容將被傳遞給變量。例如:在下面的程序中,x的值被設(shè)置為9,然后這個(gè)值被賦給y,隨后x的值被重新改變?yōu)?0,但此時(shí)y仍然是9,因?yàn)閥并不跟蹤x的值,它在此只是存儲(chǔ)x曾經(jīng)傳遞給它的值。第9章 ActionScript編程基礎(chǔ) var x

25、=9;var y=x;var x=90;又例如,變量ting包含一個(gè)基本數(shù)據(jù)類型的數(shù)字6,這個(gè)實(shí)際的值數(shù)字6被傳遞給了函數(shù)sqr,返回值為36。Function sqr (x) return x*x;var ting=6;var out=sqr (ting);其中變量ting中的值仍然是6,并沒有改變。第9章 ActionScript編程基礎(chǔ) 如果引用除電影片段以外的某個(gè)對(duì)象,則一旦被引用就不能再被刪除,這種引用稱為Hard Reference(硬引用);而對(duì)一個(gè)電影片段的引用則被稱為Soft Reference(軟引用),因?yàn)檐浺貌荒軓?qiáng)令被引用的對(duì)象存在。第9章 ActionScript編

26、程基礎(chǔ) 在Flash 8中,函數(shù)指由一個(gè)變量按照一定的規(guī)則決定另一個(gè)變量的對(duì)應(yīng)關(guān)系,運(yùn)算符指對(duì)常量與變量進(jìn)行運(yùn)算的符號(hào),表達(dá)式指用運(yùn)算符將常量、變量和函數(shù)以一定的規(guī)則組織在一起的句子,下面分別對(duì)它們進(jìn)行介紹。一、函數(shù)Flash 8提供了5種類型的函數(shù),分別為通用函數(shù)、數(shù)值類函數(shù)、屬性類函數(shù)、字符串類函數(shù)和多字節(jié)字符函數(shù)。1通用函數(shù)通用函數(shù)包括eval,getTimer,false和true 4種,它們的功能如下:第六節(jié) 函數(shù)與運(yùn)算符第9章 ActionScript編程基礎(chǔ) (1)eval:獲取某一變量的值,或者返回某一對(duì)象。(2)getTimer:獲取計(jì)算機(jī)的系統(tǒng)時(shí)間。(3)false:獲取布

27、爾非值(0)。(4)true:獲取布爾真值(1)。2數(shù)值類函數(shù)數(shù)值類函數(shù)包括int和random兩種,它們的功能如下:(1)int:把十進(jìn)制數(shù)值強(qiáng)制轉(zhuǎn)換成整數(shù),即取整。(2)random:產(chǎn)生0到用戶指定數(shù)值間的隨機(jī)數(shù)。第9章 ActionScript編程基礎(chǔ) 3屬性類函數(shù)屬性類函數(shù)包括_alpha,_height,_name,_rotation,_visible,_width,_x,_y,_xscale,_yscale,_url和_current 12種,它們的功能如下:(1)_alpha:對(duì)象的透明度。(2)_height:對(duì)象的高度。(3)_name:對(duì)象實(shí)例的名稱。(4)_rotati

28、on:對(duì)象的旋轉(zhuǎn)角度。(5)_visible:顯示或隱藏對(duì)象。(6)_width:對(duì)象的寬度。(7)_x:對(duì)象的x軸坐標(biāo)。(8)_y:對(duì)象的y軸坐標(biāo)。第9章 ActionScript編程基礎(chǔ) (9)_xscale:以百分比來縮放對(duì)象的寬度。 (10)_yscale:以百分比來縮放對(duì)象的高度。(11)_url:對(duì)象的鏈接地址。(12)_current:獲取當(dāng)前幀的位置。4字符串類函數(shù)字符串類函數(shù)包括substring,length,ord和chr 4種,它們的功能如下:(1)substring:截取字符串的子串。(2)length:返回字符串的長(zhǎng)度。(3)ord:將字符轉(zhuǎn)換成ASCII碼。(4)

29、chr:將ASCII碼轉(zhuǎn)換成相應(yīng)的字符。第9章 ActionScript編程基礎(chǔ) 5多字節(jié)字符函數(shù)多字節(jié)字符函數(shù)包括mbsubstring,mblength,mbchr和mbord 4種,它們的功能如下:(1)mbsubstring:截取多字節(jié)字符串中的字串。(2)mblength:返回多字節(jié)字符串的長(zhǎng)度。(3)mbchr:將操作數(shù)轉(zhuǎn)換成相應(yīng)的ASCII碼多字節(jié)字符。(4)mbord:將多字節(jié)字符轉(zhuǎn)換成相應(yīng)的ASCII碼數(shù)值。第9章 ActionScript編程基礎(chǔ) 二、運(yùn)算符Flash 8提供了算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、等于和賦值運(yùn)算符等多種運(yùn)算符,下面分別進(jìn)行介紹。1算

30、術(shù)運(yùn)算符算術(shù)運(yùn)算符包括加、減、乘、除和其他算術(shù)運(yùn)算符,ActionScript中的算術(shù)運(yùn)算符如表9.2所示。第9章 ActionScript編程基礎(chǔ) 算術(shù)運(yùn)算符執(zhí)行的運(yùn)算+遞增1-遞減1*乘/除%求余數(shù)+自加-自減表9.2 算術(shù)運(yùn)算符第9章 ActionScript編程基礎(chǔ) 2比較運(yùn)算符比較運(yùn)算符用于比較表達(dá)式的值并返回一個(gè)布爾值,ActionScript中的比較運(yùn)算符如表9.3所示。表9.3 比較運(yùn)算符比較運(yùn)算符執(zhí)行的運(yùn)算大于=大于或等于第9章 ActionScript編程基礎(chǔ) 3邏輯運(yùn)算符邏輯運(yùn)算符用于比較兩個(gè)布爾值(true或false)并返回第3個(gè)布爾值,例如在邏輯與操作中,如果兩個(gè)操

31、作數(shù)都是true,則返回結(jié)果為true;如果執(zhí)行的兩個(gè)操作數(shù)中有一個(gè)或兩個(gè)是false,則返回的結(jié)果為false。ActionScript中的邏輯運(yùn)算符如表9.4所示。表9.4 邏輯運(yùn)算符邏輯運(yùn)算符執(zhí)行的運(yùn)算&邏輯與|邏輯或!邏輯非第9章 ActionScript編程基礎(chǔ) 4位運(yùn)算符ActionScript中的位運(yùn)算符如表9.5所示。表9.5 位運(yùn)算符位運(yùn)算符執(zhí)行的運(yùn)算&按位與|按位或按位異或按位非,即求補(bǔ)碼按位右移無符號(hào)按位右移,即左邊空位用0填補(bǔ)第9章 ActionScript編程基礎(chǔ) 5等于和賦值運(yùn)算符ActionScript中的等于和賦值運(yùn)算符如表9.6所示。表9.6

32、等于和賦值運(yùn)算符等于和賦值運(yùn)算符執(zhí)行的運(yùn)算等于和賦值運(yùn)算符執(zhí)行的運(yùn)算=等于/=相除并賦值!=不等于=按位右移并賦值+=相加并賦值=無符號(hào)按位右移并賦值-=相減并賦值=按位異或并賦值*=相乘并賦值|=按位或并賦值%=求余并賦值&=按位與并賦值第9章 ActionScript編程基礎(chǔ) 當(dāng)兩個(gè)或兩個(gè)以上的運(yùn)算符在同一個(gè)表達(dá)式中被使用時(shí),一些運(yùn)算符與其他運(yùn)算符相比有更高的優(yōu)先級(jí)。例如,在以下的代碼中,括號(hào)里面的內(nèi)容先執(zhí)行,結(jié)果是8。 x=(24-20)*2;而在以下的代碼中,先執(zhí)行乘法運(yùn)算,結(jié)果是2。 x=8-2*3;如果兩個(gè)或兩個(gè)以上的運(yùn)算符擁有同樣的優(yōu)先級(jí)時(shí),此時(shí)決定它們執(zhí)行順序的就是運(yùn)算

33、符的結(jié)合性了,結(jié)合性可以是從左到右,也可以是從右到左。例如,下面的兩個(gè)語句是等價(jià)的:第9章 ActionScript編程基礎(chǔ) x=8*3*5; x=(8*3)*5;下面按優(yōu)先級(jí)從高到低的排列,列出了所有運(yùn)算符及其結(jié)合律,如表9.7所示。運(yùn)算符說 明結(jié)合律+遞增1從右到左-遞減1從右到左按位“非”從右到左!邏輯“非”從右到左not邏輯“非”(Flash 4 樣式)從右到左+后遞增從左到右-后遞減從左到右表9.7 運(yùn)算符優(yōu)先級(jí)第9章 ActionScript編程基礎(chǔ) ( )函數(shù)調(diào)用從左到右 數(shù)組元素從左到右.結(jié)構(gòu)成員從左到右+前遞增從右到左-前遞減從右到左new分配對(duì)象從右到左delete取消分配

34、對(duì)象從右到左typeof對(duì)象類型從右到左void返回未定義值從右到左*乘號(hào)從左到右/除號(hào)從左到右%求余數(shù)從左到右+加號(hào)從左到右add字符串連接(原為 &)從左到右-減號(hào)從左到右續(xù)表1第9章 ActionScript編程基礎(chǔ) 續(xù)表2按位右移位從左到右按位右移位(無符號(hào))從左到右小于從左到右大于從左到右=大于或等于從左到右instanceof是否為其實(shí)例從左到右lt小于(字符串版本)從左到右le小于或等于(字符串版本)從左到右gt大于(字符串版本)從左到右ge大于或等于(字符串版本)從左到右=等于從左到右!=不等于從左到右eq等于(字符串版本)從左到右第9章 ActionScript編程基

35、礎(chǔ) ne不等于(字符串版本)從左到右&按位“與”從左到右按位“異或”從左到右|按位“或”從左到右&邏輯“與”從左到右and邏輯“與”(Flash 4)從左到右or邏輯“或”從左到右|邏輯“或”(Flash 4)從左到右?:條件從右到左=賦值從右到左*=, /=, %=, +=, -=, &=, |=, =, =, =復(fù)合賦值從右到左,逗號(hào)從左到右續(xù)表3第9章 ActionScript編程基礎(chǔ) 在Flash 8中,無論多么復(fù)雜的交互過程,都可以分解為兩個(gè)部分,即導(dǎo)致行為發(fā)生的原因和行為發(fā)生的內(nèi)容。而行為發(fā)生的原因就是事件,行為發(fā)生的內(nèi)容就是動(dòng)作。一、事件在Flash 8中

36、,用戶可以通過兩種方式來觸發(fā)事件:一種是基于動(dòng)作的,如單擊鼠標(biāo)或按下鍵盤,即通常所說的“用戶觸發(fā)事件”;另一種是基于時(shí)間的,當(dāng)動(dòng)畫播放到某一時(shí)刻時(shí),事件就會(huì)被觸發(fā),即通常所說的“幀事件”。第七節(jié) 事件與動(dòng)作第9章 ActionScript編程基礎(chǔ) 1用戶觸發(fā)事件用戶觸發(fā)事件的特點(diǎn)是對(duì)單擊鼠標(biāo)或者按鍵等動(dòng)作做出響應(yīng),下面簡(jiǎn)單介紹一些用戶觸發(fā)事件。(1)press:當(dāng)將鼠標(biāo)指針移到按鈕上時(shí),單擊鼠標(biāo)左鍵發(fā)生動(dòng)作。(2)release:當(dāng)將鼠標(biāo)指針移到按鈕上時(shí),單擊并釋放鼠標(biāo)左鍵發(fā)生動(dòng)作。(3)rollOut:當(dāng)將鼠標(biāo)指針從按鈕上移過時(shí)發(fā)生動(dòng)作。(4)rollOver:當(dāng)將鼠標(biāo)指針放置在按鈕上時(shí)發(fā)生

37、動(dòng)作。(5)releaseOutside:當(dāng)將鼠標(biāo)指針在按鈕上按下鼠標(biāo)左鍵,然后移至按鈕外釋放時(shí)發(fā)生動(dòng)作。第9章 ActionScript編程基礎(chǔ) (6)dragOut:當(dāng)將鼠標(biāo)指針在按鈕上按下鼠標(biāo)左鍵,然后移至按鈕外時(shí)發(fā)生動(dòng)作。(7)dragOver:當(dāng)將鼠標(biāo)指針在按鈕上按下鼠標(biāo)左鍵,然后移至按鈕外后,又移至按鈕上時(shí)發(fā)生動(dòng)作。(8)keyPress:當(dāng)按下指定鍵時(shí)發(fā)生動(dòng)作。(9)mouseMove:當(dāng)移動(dòng)鼠標(biāo)時(shí)發(fā)生動(dòng)作。(10)mouseDown:當(dāng)單擊鼠標(biāo)左鍵時(shí)發(fā)生動(dòng)作。(11)mouseUp:當(dāng)釋放鼠標(biāo)左鍵時(shí)發(fā)生動(dòng)作。(12)keyUp:當(dāng)釋放某鍵時(shí)發(fā)生動(dòng)作。(13)keyDown:當(dāng)按

38、下某鍵時(shí)發(fā)生動(dòng)作。第9章 ActionScript編程基礎(chǔ) 2幀事件定義幀事件是指為某個(gè)幀指定一個(gè)動(dòng)作,當(dāng)動(dòng)畫播放到該幀時(shí),將會(huì)響應(yīng)事件,并執(zhí)行指定的動(dòng)作。例如,如果用戶需要控制一個(gè)包含兩個(gè)場(chǎng)景的動(dòng)畫,當(dāng)播放到“場(chǎng)景1”的第4幀時(shí),開始播放“場(chǎng)景2”,然后在“場(chǎng)景2”播放結(jié)束后繼續(xù)從“場(chǎng)景1”的第5幀開始播放,直至“場(chǎng)景1”播放完畢后結(jié)束動(dòng)畫,用戶可以進(jìn)行以下的“幀事件”定義過程。(1)選中“場(chǎng)景1”的第4幀,在動(dòng)作面板中添加以下代碼:gotoAndPlay(“場(chǎng)景2”,4);(2)選中“場(chǎng)景2”的最后一幀,在動(dòng)作面板中添加以下代碼:gotoAndPlay(場(chǎng)景1,5);第9章 ActionS

39、cript編程基礎(chǔ) 二、動(dòng)作動(dòng)作是由一系列語句組成的程序代碼。在Flash 8中,內(nèi)置了數(shù)百條的動(dòng)作語句,通過它們可以實(shí)現(xiàn)非常強(qiáng)大的交互功能,下面介紹幾種常見的動(dòng)作語句。1stop()語句stop()語句用于停止動(dòng)畫的播放,該語句沒有參數(shù)。例如,以下代碼將制作一個(gè)停止按鈕。On(release)stop();第9章 ActionScript編程基礎(chǔ) 2play()語句play()語句用于使動(dòng)畫從當(dāng)前幀開始播放,該語句沒有參數(shù)。例如,以下代碼將制作出一個(gè)播放按鈕。On(press)play();3gotoAndPlay()語句gotoAndPlay()語句用于跳轉(zhuǎn)到某一幀或場(chǎng)景,并開始播放。其格

40、式如下:gotoAndPlay(場(chǎng)景,幀);參數(shù)的意義如下:第9章 ActionScript編程基礎(chǔ) (1)場(chǎng)景:指定要轉(zhuǎn)到場(chǎng)景的名稱,如果在同一個(gè)場(chǎng)景中跳轉(zhuǎn),可以省略該參數(shù)。(2)幀:指定要轉(zhuǎn)到的幀。例如,以下代碼將使動(dòng)畫從第15幀開始播放。on (release) gotoAndPlay(15);4gotoAndStop()語句gotoAndStop()語句用于跳轉(zhuǎn)到某一幀或場(chǎng)景,并停止播放。其格式與參數(shù)同gotoAndPlay()語句。例如,以下代碼將使動(dòng)畫跳轉(zhuǎn)至第5幀,并停止播放。第9章 ActionScript編程基礎(chǔ) on (release) gotoAndStop (5);5st

41、opAllSounds()語句stopAllSounds()語句用于停止動(dòng)畫中的所有聲音,而不影響其視覺效果,該語句沒有參數(shù)。例如,以下代碼將制作出一個(gè)關(guān)閉聲音的按鈕。On(press)stopAllSounds();第9章 ActionScript編程基礎(chǔ) 6nextScene()語句nextScene()語句用于跳轉(zhuǎn)并停止在下一場(chǎng)景的第1幀上,該語句沒有參數(shù)。其格式如下:nextScene();7prevScene()語句prevScene()語句用于跳轉(zhuǎn)并停止在上一場(chǎng)景的第1幀上,該語句沒有參數(shù)。其格式如下:prevScene();8trace()語句trace()語句用于獲取影片剪輯的

42、名稱、位置、大小和透明度等屬性。其格式如下:trace(目標(biāo).屬性);第9章 ActionScript編程基礎(chǔ) 參數(shù)的意義如下:(1)目標(biāo):影片剪輯實(shí)例的名稱。(2)屬性:實(shí)例的位置、大小和透明度等。例如,以下代碼將獲取名稱為cs的影片剪輯的位置、透明度和大小屬性。trace(cs._x);trace(cs._y);trace(cs._alpha);trace(cs.width);trace(cs.height);第9章 ActionScript編程基礎(chǔ) 9mouse.hide()語句mouse.hide()語句用于隱藏鼠標(biāo)指針,該語句沒有參數(shù)。例如,以下代碼將實(shí)現(xiàn)隱藏鼠標(biāo)指針的功能。onCl

43、ipEvent(load)mouse.hide();startDrag(this,true);10getURL()語句getURL()語句用于將指定的URL加載到瀏覽器窗口,或者將變量數(shù)據(jù)發(fā)送給指定的URL。其格式如下:getURL(網(wǎng)頁地址,窗口);參數(shù)的意義如下:第9章 ActionScript編程基礎(chǔ) (1)網(wǎng)頁地址:鏈接網(wǎng)頁的地址,如http:/。(2)窗口:用于設(shè)置網(wǎng)頁打開的位置,有4種方式可以選擇。 1)_self:指定當(dāng)前窗口中的當(dāng)前框架。 2)_blank:指定一個(gè)新窗口。 3)_parent:指定當(dāng)前框架的父級(jí)。 4)_top:指定當(dāng)前窗口中的頂級(jí)框架。例如,以下代碼將使動(dòng)畫

44、在用戶單擊賦予該動(dòng)作的按鈕時(shí),在新窗口中打開URL為的網(wǎng)頁。on(release)getURL(“http:/”,“_blank”);第9章 ActionScript編程基礎(chǔ) 11setProperty()語句setProperty()語句用于設(shè)置影片剪輯的大小、旋轉(zhuǎn)、位置、名稱和透明度等屬性。其格式如下:setProperty(目標(biāo),屬性,值);參數(shù)的意義如下:(1)目標(biāo):影片剪輯實(shí)例的名稱。(2)屬性:實(shí)例的位置、大小和透明度等。(3)值:指屬性的值。例如,以下代碼展示了一個(gè)按鈕事件,它將名為MMC的影片剪輯實(shí)例的透明度設(shè)置為50%。on(release)setProperty(“/MMC

45、”,_Alpha, “50”);第9章 ActionScript編程基礎(chǔ) 12duplicateMovieClip()語句duplicateMovieClip()語句用于影片剪輯的復(fù)制。其格式如下:duplicateMovieClip(目標(biāo),新名稱,深度);參數(shù)的意義如下:(1)目標(biāo):定義要復(fù)制影片剪輯實(shí)例的路徑。(2)新名稱:設(shè)置復(fù)制的影片剪輯實(shí)例的名稱。(3)深度:深度是一個(gè)數(shù)值,它表示影片剪輯實(shí)例副本與同一個(gè)影片層級(jí)中其他加載副本的相對(duì)堆疊深度。例如,以下代碼展示了一個(gè)按鈕事件,其作用是復(fù)制名為MMC的影片剪輯實(shí)例,并將復(fù)制出的MMCD放置在2中。第9章 ActionScript編程基礎(chǔ)

46、 在復(fù)制時(shí),改變MMCD的x位置,以便它不會(huì)出現(xiàn)在原影片剪輯的上面。 on(release)duplicateMovieClip(“/MMC”,“MMCD”,2);setProperty(“/MMCD”,_x,“200”);13removeMovieClip()語句removeMovieClip()語句用于影片剪輯的刪除。其格式如下:removeMovieClip(目標(biāo));目標(biāo)是指要?jiǎng)h除影片剪輯實(shí)例的路徑。例如,以下代碼展示了另一個(gè)按鈕上的鼠標(biāo)事件,其作用是刪除名為MMCD的影片剪輯實(shí)例。第9章 ActionScript編程基礎(chǔ) on(release)removeMovieClip(“/MMC

47、D”);14setRGB()語句setRGB()語句用于設(shè)置影片剪輯的顏色。其格式如下:setRGB(顏色值);例如,以下代碼將設(shè)置名為carColor影片剪輯實(shí)例的顏色為藍(lán)色。myColor=new Color(_root.carColor)_root.blue.onRelease=function()myColor.setRGB(0 x0000ff)第9章 ActionScript編程基礎(chǔ) 利用條件循環(huán)控制可以讓交互動(dòng)畫實(shí)現(xiàn)靈活的分支轉(zhuǎn)移。一、條件語句條件語句即一個(gè)以if開始的語句,用于檢查一個(gè)條件的值是true還是false。如果條件值為true,則ActionScript依次執(zhí)行后面的

48、語句;如果條件值為false,則ActionScript將跳過這個(gè)代碼段,執(zhí)行下面的語句。if經(jīng)常與else結(jié)合使用,用于多重條件的判斷和跳轉(zhuǎn)執(zhí)行。例如,以下代碼用于測(cè)試條件和執(zhí)行相關(guān)的動(dòng)作,如果前面的條件返回值為false,則將執(zhí)行else中的語句:第八節(jié) 條件循環(huán)控制第9章 ActionScript編程基礎(chǔ) if(password)=4321&(address=room439) gotoAndStop(“reject”); else gotoAndPlay(“firstMovie”);二、循環(huán)語句在ActionScript中可以按照一個(gè)指定的次數(shù)重復(fù)執(zhí)行一系列的動(dòng)作,或者是在一個(gè)特

49、定的條件中,執(zhí)行某些動(dòng)作。在使用ActionScript編程時(shí),可以使用while,dowhile,for以及forin動(dòng)作來創(chuàng)建一個(gè)循環(huán)語句。第9章 ActionScript編程基礎(chǔ) 1條件循環(huán)語句在編程過程中,有時(shí)需要在滿足某個(gè)條件的情況下實(shí)現(xiàn)一個(gè)循環(huán),這時(shí)需要用到while語句或dowhile語句。在ActionScript中循環(huán)語句while用于對(duì)一個(gè)表達(dá)式求值,如果表達(dá)式的值是true,那么循環(huán)體中的代碼被執(zhí)行。當(dāng)循環(huán)體中的所有語句都被執(zhí)行之后,表達(dá)式按照程序要求再次進(jìn)行求值,就這樣反復(fù)執(zhí)行,直到表達(dá)式的值變?yōu)閒alse,就跳出本次循環(huán)執(zhí)行循環(huán)后的語句。例如,在下面的程序語句中,動(dòng)作

50、被重復(fù)執(zhí)行了6次:i=6; While(i0) 第9章 ActionScript編程基礎(chǔ) MyMovieClip.duplicateMovieClip(“newMovieClip”+i,i); i-;另外,也可以使用dowhile語句創(chuàng)建同樣的循環(huán),在一個(gè)dowhile語句中,表達(dá)式是在代碼塊的底部被求值,因此,這個(gè)循環(huán)至少會(huì)被執(zhí)行一次。例如,將上面的那段語句用dowhile編寫如下:i=6 do MyMovieClip.duplicateMovieClip(“newMovieClip”+i,i); i-; while(i0);第9章 ActionScript編程基礎(chǔ) 2按照指定的次數(shù)循環(huán)在A

51、ctionScript中,可以使用for語句使程序按照指定的次數(shù)循環(huán),在一些特殊的場(chǎng)合,這種功能具有很重要的意義。在很多情況下,需要預(yù)設(shè)一個(gè)數(shù)值作為初值來控制循環(huán)的次數(shù)??梢酝ㄟ^聲明一個(gè)變量,并編寫一條每當(dāng)循環(huán)被執(zhí)行一次就對(duì)變量進(jìn)行自增或自減運(yùn)算的語句的方法來實(shí)現(xiàn)一個(gè)循環(huán)控制。在一個(gè)完整的for 語句中,計(jì)數(shù)值和計(jì)數(shù)值的自增或自減運(yùn)算的語句是整個(gè)程序語句中的一部分,例如下面的語句:for(i=6;i0;i-) MyMovieClip.duplicateMovieClip(“newMovieClip”+i,i);第9章 ActionScript編程基礎(chǔ) 本節(jié)將為用戶介紹4個(gè)交互動(dòng)畫的制作,以幫助

52、用戶對(duì)前面的知識(shí)有一個(gè)很好的理解和練習(xí)。一、復(fù)制制作“復(fù)制”交互動(dòng)畫的操作步驟如下:(1)選擇“文件”“新建”命令,創(chuàng)建一個(gè)新的動(dòng)畫文件。(2)選擇“修改”“文檔”命令,彈出“文檔屬性”對(duì)話框,設(shè)置“尺寸”為“500 px200 px”,“背景顏色”為“黑色”,單擊“確定”按鈕。第九節(jié) 制作交互動(dòng)畫第9章 ActionScript編程基礎(chǔ) (3)按Ctrl+F8鍵,彈出“創(chuàng)建新元件”對(duì)話框,在“名稱”文本框中輸入“圖片”,在“類型”選項(xiàng)區(qū)中選中“影片剪輯”單選按鈕,如圖9.9.1所示。圖9.9.1 “創(chuàng)建新元件”對(duì)話框第9章 ActionScript編程基礎(chǔ) (4)單擊“確定”按鈕,進(jìn)入該元件

53、的編輯窗口,繪制如圖9.9.2所示的花朵圖形。(5)重復(fù)第(3)步的操作,創(chuàng)建一個(gè)名為“復(fù)制”的元件,單擊“確定”按鈕,進(jìn)入該元件的編輯窗口。(6)選擇“窗口”“庫”命令,打開庫面板,拖動(dòng)“圖形”元件到工作區(qū)中。(7)選擇工具箱中的文本工具,在屬性面板中設(shè)置文本類型為“動(dòng)態(tài)文本”,字體為“Times New Roman”,字體大小為“36”,文本顏色為“#FF0066”,并單擊“切換粗體”按鈕,在“圖片”實(shí)例的右下角拖出一個(gè)動(dòng)態(tài)文本框,如圖9.9.3所示。第9章 ActionScript編程基礎(chǔ) 圖9.9.2 繪制花朵圖形 圖9.9.3 拖出動(dòng)態(tài)文本框 第9章 ActionScript編程基礎(chǔ)

54、 (8)選中動(dòng)態(tài)文本框,雙擊鼠標(biāo)左鍵,將其切換至可編輯狀態(tài),在其中輸入初始值為“0”,如圖9.9.4所示。(9)選中動(dòng)態(tài)文本框,在屬性面板的“變量”文本框中輸入字符“n”,如圖9.9.5所示。圖9.9.5 設(shè)置變量圖9.9.4 輸入初始值第9章 ActionScript編程基礎(chǔ) (10)單擊“場(chǎng)景1”圖標(biāo),返回到主場(chǎng)景。(11)從庫面板中拖動(dòng)“復(fù)制”元件到工作區(qū)中,然后選中“復(fù)制”實(shí)例,在屬性面板的“實(shí)例名稱”文本框中輸入字符“earth”,如圖9.9.6所示。圖9.9.6 輸入實(shí)例名稱第9章 ActionScript編程基礎(chǔ) (12)選擇“窗口”“公用庫”“按鈕”命令,打開按鈕庫,在按鈕庫中

55、選擇“classic buttons”“Ovals” “Oval buttons - blue”命令,將其拖動(dòng)到工作區(qū)中,并另外復(fù)制一個(gè),如圖9.9.7所示。圖9.9.7 拖入并復(fù)制“Oval button-blue”元件第9章 ActionScript編程基礎(chǔ) (13)選擇“窗口”“動(dòng)作”命令,打開動(dòng)作面板,如圖9.9.8所示。圖9.9.8 動(dòng)作面板第9章 ActionScript編程基礎(chǔ) (14)選中左側(cè)的“Oval button-blue”實(shí)例,在動(dòng)作面板中輸入以下代碼:on (press) n = Number(n)+1;bn = “earth” add n;duplicateMovi

56、eClip(“earth”, bn, n);setProperty(bn, _x, Number(getProperty(bn, _x)+Number(n*(Number(getProperty(bn, _width)+1);set(bn add “:n”, n);第9章 ActionScript編程基礎(chǔ) (15)選中右側(cè)的“Oval button-blue”實(shí)例,在動(dòng)作面板中輸入以下代碼:on (press, release) if (Number(n)0) bn = “earth” add n;removeMovieClip(bn);n = n-1;第9章 ActionScript編程基礎(chǔ)

57、 (16)單擊時(shí)間軸面板中的“插入圖層”按鈕,插入“圖層2”。(17)選中“圖層2”,選擇工具箱中的文本工具,在屬性面板中設(shè)置文本類型為“靜態(tài)文本”,字體為“隸書”,字體大小為“28”,文本顏色為“黑色”,并單擊“切換粗體”按鈕,在“Oval button-blue”實(shí)例的上面依次輸入文本“增”和“減”,如圖9.9.9所示。(18)按Ctrl+Enter鍵,測(cè)試動(dòng)畫效果,如圖9.9.10所示。,第9章 ActionScript編程基礎(chǔ) 第9章 ActionScript編程基礎(chǔ) 二、按鍵測(cè)試制作“按鍵測(cè)試”交互動(dòng)畫的操作步驟如下:(1)選擇“文件”“新建”命令,創(chuàng)建一個(gè)新的動(dòng)畫文件。(2)選擇“

58、修改”“文檔”命令,彈出“文檔屬性”對(duì)話框,設(shè)置“尺寸”為“500 px400 px”,“背景顏色”為“#0000CC”,單擊“確定”按鈕。(3)選擇“文件”“導(dǎo)入”“導(dǎo)入到舞臺(tái)”命令,彈出“導(dǎo)入”對(duì)話框,導(dǎo)入一幅圖片到工作區(qū)中,如圖9.9.11所示。(4)單擊時(shí)間軸面板中的“插入圖層”按鈕,插入“圖層2”。第9章 ActionScript編程基礎(chǔ) (5)選中“圖層2”的第1幀,選擇工具箱中的文本工具,在屬性面板中設(shè)置字體為“華文行楷”,字體大小為“28”,文本顏色為“白色”,并單擊“切換粗體”按鈕,在工作區(qū)中輸入文本“你按下的是這個(gè)鍵嗎?”,如圖9.9.12所示。圖9.9.11 導(dǎo)入圖片 圖

59、9.9.12 輸入文本 第9章 ActionScript編程基礎(chǔ) (6)按Ctrl+F8鍵,彈出“創(chuàng)建新元件”對(duì)話框,在“名稱”文本框中輸入“1”,在“類型”選項(xiàng)區(qū)中選中“圖形”單選按鈕,如圖9.9.13所示。(7)單擊“確定”按鈕,進(jìn)入該元件的編輯窗口。選擇工具箱中的文本工具,在屬性面板中設(shè)置文本類型為“動(dòng)態(tài)文本”,字體為“Arial Black”,字體大小為“70”,文本顏色為“#C86400”,線條類型為“單行”,在工作區(qū)中拖出一個(gè)動(dòng)態(tài)文本框,如圖9.9.14所示。第9章 ActionScript編程基礎(chǔ) 圖9.9.14 拖出一個(gè)動(dòng)態(tài)文本框 圖9.9.13 “創(chuàng)建新元件”對(duì)話框第9章 A

60、ctionScript編程基礎(chǔ) (8)選中動(dòng)態(tài)文本框,在屬性面板的“變量”文本框中輸入字符“keyshow”,如圖9.9.15所示。圖9.9.15 設(shè)置變量第9章 ActionScript編程基礎(chǔ) (9)按Ctrl+F8鍵,彈出“創(chuàng)建新元件”對(duì)話框,在“名稱”文本框中輸入“空”,在“類型”選項(xiàng)區(qū)中選中“影片剪輯”單選按鈕,單擊“確定”按鈕,進(jìn)入該元件的編輯窗口,不做任何編輯。(10)重復(fù)第(9)步的操作,創(chuàng)建一個(gè)名為“字”的元件,單擊“確定”按鈕,進(jìn)入該元件的編輯窗口。(11)選擇“窗口”“庫”命令,打開庫面板,從中拖動(dòng)“1”元件到工作區(qū)中。(12)單擊時(shí)間軸面板中的“添加運(yùn)動(dòng)引導(dǎo)層”按鈕,為“圖層1”添加一個(gè)運(yùn)動(dòng)引導(dǎo)層,如圖9.9.16所示。第9章 Act

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論