版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第 8次課,ActionScript基礎(chǔ),ActionScript是Flash內(nèi)置的編程語言,用它為動畫編程,可以實現(xiàn)各種動畫特效、對影片的良好控制、強大的人機交互以及與網(wǎng)絡(luò)服務(wù)器的交互功能。,1Flash中的程序,給計算機執(zhí)行的指令集稱為程序。程序的另一個名稱叫做腳本。 ActionScrip腳本的運行環(huán)境:是Flash影片 短的腳本可以只有一行,長的腳本可以長達幾千行。它們可以作用于Flash影片的一個部分,也可以貫穿影片始終。,2ActionScript是從哪里來?,Flash早期版本中的腳本非常簡單,直到Flash4,才具有了標準的程序結(jié)構(gòu),如條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)等。但是Flash腳本仍
2、然需要使用下拉菜單和空白文本框添加,幾乎還不能叫做一種編程語言。真正的ActionScript到了Flash5才出現(xiàn),程序員可以直接鍵入程序并將程序添加給需要作用的元素?,F(xiàn)在的ActionScript 2.0提供了多達300余種命令、函數(shù)、運算符和結(jié)構(gòu)。,3初識ActionScript,腳本是由英語單詞、數(shù)學(xué)符號和函數(shù)構(gòu)成的,下面是一個ActionScript的例子:on(press)gotoAndPlay(myframe);,ActionScript能實現(xiàn)的一些基本功能,控制播放順序可以通過選擇某個菜單將影片暫停在某個位置,然后由用戶來決定下一步干什么,這就避免讓影片徑直朝前播放。 創(chuàng)建復(fù)雜
3、動畫腳本可以創(chuàng)建復(fù)雜的動畫。例如可以用ActionScript控制一個球在屏幕中無休止的跳動,并且可以使它的動作遵從物理學(xué)中的重力定律。如果不用ActionScript來實現(xiàn)這樣的動畫,你將需要幾千幀來模仿相似的動作,而用ActionScript,你將只需要一幀。,響應(yīng)用戶輸入可以通過影片向用戶提出問題并接收答案,然后將答案信息用于影片中或?qū)⑵鋫魉偷椒?wù)器。使用ActionScript也可以從服務(wù)器中獲取數(shù)據(jù),你可以獲取即時的信息并將它提供給用戶。 計算ActionScript也可以對數(shù)值進行計算,用它可以模擬出各種復(fù)雜的計算器。 調(diào)整圖像ActionScript可以在影片播放時改變圖像的大小
4、、角度、旋轉(zhuǎn)方向以及影片剪輯元件的顏色等。還可以從屏幕中復(fù)制或刪除對象,測試環(huán)境可以用ActionScript測試Flash影片的播放環(huán)境,如獲取系統(tǒng)時間,獲取FlashPlayer的版本信息等。 控制聲音ActionScript可以方便地控制聲音的播放,甚至控制聲音的聲道平衡和音量等。,4ActionScript放在哪里,在Flash的元素中有3個地方可以放置腳本。,1時間軸 Flash影片中的每個場景都有時間軸,時間軸上的每個關(guān)鍵幀都可以放置腳本。并且,你還可以在每一個關(guān)鍵幀的不同層上放置不同的腳本。 注意:在主時間軸中放置腳本之前,需要先選擇一個關(guān)鍵幀。,2按鈕 元件主要有3種:圖形(g
5、raphic)、影片剪輯(movieclip)和按鈕(button)。圖形元件不能承載腳本。影片剪輯與圖形元件類似,但是它可以承載腳本。 第3種元件就是按鈕,按鈕可以承載腳本。事實上,如果沒有腳本,按鈕幾乎不會發(fā)揮什么作用。,3 影片剪輯 影片剪輯不同于圖形元件,可以為影片剪輯命名,為影片剪輯添加腳本。為影片剪輯添加腳本的方法與按鈕類似。 為影片剪輯添加的腳本可以用來控制影片剪輯自身或控制時間軸中的其他影片剪輯。使用腳本可以判斷影片剪輯出現(xiàn)在屏幕中的什么位置,你也可以用腳本來控制影片剪輯的重復(fù)播放等,進而控制整個動畫。,5 ActionScript語法基礎(chǔ),1. 常用名詞 動作(Action)
6、:也稱為指令。目的在于說明當程序執(zhí)行時要做些什么事。 例如,gotoAndStop動作就可以將播放磁頭跳轉(zhuǎn)到指定的某一幀或幀標記并停止播放。,對象(Object):是ActionScript描述的目的物,是屬性的集合。在Flash中,所有圖形圖像、聲音、文字、視頻等都可以視為對象。ActionScript編程過程中要控制的每個對象都具有自己的名稱和值。 屬性(Properties):反映對象的性質(zhì)、特征、變化。例如,_xmouse返回鼠標的x坐標位置。,事件(Events):在影片播放過程中發(fā)生的動作或某些條件滿足時的交互響應(yīng)。例如,當影片載入時、當播放磁頭到達某一幀時、當用戶單擊按鈕或影片實
7、例時、當用戶敲擊鍵盤上的某一鍵時,都可以稱產(chǎn)生了某一事件。 實例(Instances):也稱為實體、替身等。實例是從符號庫(也稱素材庫)中的元件引入到舞臺上對象。,參數(shù)(Arguments):是用于裝載值的代碼,在函數(shù)中將參數(shù)當成具體的值來執(zhí)行。例如: Funtion show (name, score) showMC.display = name; showMC.score = score; 這里,括號中的name、score都是參數(shù)(也是變量),常量(Constants):常量即不會改變的量,它對于值的比較非常有用。 變量(Variables):顧名思義,變量是可以改變的量。變量可以創(chuàng)建、
8、修改和更新。 每個變量都有它自己的生命周期或有效范圍(Scope),在有效范圍中你可以存取和使用該變量,出了有效范圍就找不到該變量了(或說該變量的生命已經(jīng)結(jié)束)。,函數(shù)(Functions):函數(shù)簡單地說就是代碼塊。將實現(xiàn)某一種能執(zhí)行特定功能的代碼放在一起用一種特殊的方式定義、封裝,最后命名這一段代碼為函數(shù)。 例如:getProperty函數(shù)就可以使用電影剪輯的實例名稱和屬性名稱,返回對象的屬性值;getVersion函數(shù)可以返回當前播放電影的Flash播放器的版本號。,關(guān)鍵字(Keywords):ActionScript語言保留了一些單詞作為特殊用途,不能將這些關(guān)鍵詞作為變量、函數(shù)或標簽名。
9、 下面是ActionScript的關(guān)鍵字。 Break Case Continue Default delete else true void false while for function in if var with return new this type of,表達式(Expressions):表達式是Flash可以取得和返回值的任何語句。用戶可以合并運算符和值、調(diào)用函數(shù)等方法創(chuàng)建表達式。如果在動作面板的普通模式下編寫表達式,則請用戶確認已經(jīng)選中了表達式(Expressions)復(fù)選框,否則在參數(shù)框中包含的就只是文本字符串,如圖所示。,常用語法符號,ActionScript有自己的語
10、法符號,認識常用語法符號可以很方便地了解ActionScript編程規(guī)則。 點 :功能:指向一個對象(通常是對MovieClip)的某一個屬性或方法。 例:如果有一個影片實例的名稱是“fish”,_x和_y表示這個實例在場景中的x坐標和y坐標,就可以用如下語句得到它的x位置和y位置。 _root.x=_root.fish._x ; _root.y=_root.fish._y ; 其中:“_root.”表示主時間軸的絕對路徑。 “_parent.”表示父場景(即上一級場景)的相對路徑。, :功能:用“ ”把程序分成一塊一塊的模塊??梢园牙ɑ≈械拇a看作是一句表達。 例: if (count18)
11、 count = 1; 在上面程序中,大括號內(nèi) 的“count = 1;”就是一句表達。,;分號功能:ActionScript以分號作為語句的結(jié)束。 例:下面各語句就是以分號結(jié)束的。 itncock_W=_xscale ;itncock_H=_yscale ;當然,如果用戶忽略了分號,F(xiàn)lash 也能正確編譯腳本。只是最佳做法還是應(yīng)該使用分號。,逗號功能:ActionScript以逗號表示一種分隔符號。 例:上面關(guān)于分號的示例語句也可以用逗號分隔后寫在同一行。 itncock_W=_xscale, itncock_H=_yscale ;,( )圓括號功能:“( )”來放置參數(shù)。如果括弧里面是空
12、的,就表示沒有任何參數(shù)傳遞。 例:程序片段 on (press) startDrag(stars, true); 說明當按鈕按下去時,影片實例可以被鼠標拖動。這里括號( )中“stars”、“true”都是參數(shù)。 又例:程序片段 on (press) _root.dh.stop(); _root.pd.stop(); 中stop后的空括號( )表示沒有任何參數(shù)。,/批注功能:給腳本添加批注信息,可以使代碼更容易閱讀。凡是批注符號之后的內(nèi)容,F(xiàn)lash MX在播放時并不執(zhí)行。 例:下面的語句后面就有批注,說明該語句的動作含義。 cock.stop(); /主時間軸上電影剪輯cock停止運動,Ac
13、tionScript的數(shù)據(jù)類型,1. 字符串(String)類型 字符串,顧名思義,就是字符的序列,數(shù)字、字母、符號排列起來就成了字符串。在Flash 中,字符串是用雙引號封閉的。 可以用“+”(相當于add運算符)把兩個或者多個字符串連在一起,例如: Mystring= this is + the sample string +! Mystring的值是“this is the sample string !”,2. 數(shù)字(Number)類型 數(shù)字類型是很常見的類型,F(xiàn)lash 提供了一個數(shù)學(xué)函數(shù)庫,其中有很多很有用的數(shù)學(xué)函數(shù)。它們都放在Math這個Object里面,可以調(diào)用。如: resu
14、lt=Math.sqrt (100); 在這里調(diào)用的是一個求平方根的函數(shù),先求出100的平方根,然后賦值給result這個變量,這樣result就是一個數(shù)字變量了。,3. 布爾(Boolean)類型 Flash 中的布爾類型也只有兩個值,一個是true(真),一個是false(假)。在Flash 中,這種類型多用于If語句中,用來控制程序流程: onClipEvent (enterFrame) if(name=true) 布爾類型一般都在關(guān)系表達式或者邏輯表達式中使用到,其中的判斷規(guī)則和一般的高級語言相似。,4. 對象(Object)類型 對象是屬性的集合,每一個屬性都有自己的名字和值。這些值
15、可以是任何的數(shù)據(jù)類型,甚至是對象類型。這樣就可以嵌套使用對象類型, 一個對象可以有一個或者多個屬性是對象類型。一般可以使用“.”語法來得到屬性的值或者調(diào)用對象的方法,也還可以使用“ ”運算符調(diào)用對象的屬性和方法。請看如下代碼: Tom.workstatus.athome=true; 在上面的代碼中,athome是workstatus的屬性,而workstatus又是Tom的屬性。,變量規(guī)范,變量數(shù)據(jù)類型:Number、String、Boolean、Object、MovieClip。 1. 命名變量 變量的命名主要遵循以下3條規(guī)則: (1)變量必須是以字母或者下劃線開頭,其中可以包括“$”、數(shù)字
16、、字母或者下劃線。如_myMc、e3game、worl$dcup都是有效的變量名,但是!go、2up、$food就不是有效的變量名了。 (2)變量不能和保留關(guān)鍵字同名 (3)變量在自己的有效區(qū)域里必須唯一。,2. 變量的賦值 在Flash 中,不強迫定義變量的數(shù)據(jù)類型,也就是說當把一個數(shù)據(jù)賦給變量的時候,這個變量的數(shù)據(jù)類型就已經(jīng)確定下來了。如語句: S=23; 將23賦給了s這個變量,那么Flash 就認定s是Number類型的變量。如果在后面的程序中寫了如下語句:。 S = this is a string,3. 變量的周期 所謂變量的周期是指變量在哪一個具體的范圍里有效。 Flash 有兩
17、種不同周期的變量,即局部變量和全局變量。它們的區(qū)別在于:全局變量在整個Flash 動畫中都可以被操作,而局部變量只能在它定義的那個區(qū)域被操作,通常是在一個“”之間。 提示:全局變量和局部變量的區(qū)別與變量的數(shù)據(jù)類型沒有關(guān)系,任何一種數(shù)據(jù)類型的變量都可以是局部變量也可是全局變量。,全局變量在整個Flash 電影中都可以被修改和使用,不用var關(guān)鍵字申明的變量都是全局變量。它可以用來傳遞參數(shù)、儲存一些一直都要用的變量。,4. 變量的申明 Flash 用var關(guān)鍵字申明局部變量,其生存周期在函數(shù)內(nèi)部。 如果使用setVariables或者是“=”運算符申明全局變量,它的生存周期是整個電影。,程序流程的
18、控制,1 程序流程控制概述 程序流程控制主要通過順序執(zhí)行、條件選擇和循環(huán)結(jié)構(gòu)組成。編程者可以在Action面板中采用普通模式和專家模式書寫代碼,也可以將兩種模式互換(要保證程序的語法不錯)。 在Flash 中,系統(tǒng)設(shè)置了有“彩色代碼”功能,這些彩色代碼能夠幫助編程者很容易識別語法中的各個成分。這些彩色代碼的一般含義是: 紅色:語法錯誤。 深藍色:關(guān)鍵字、內(nèi)置函數(shù)語句。 藍色:字符串 灰色:注釋語句。,2 順序執(zhí)行流程控制 順序執(zhí)行是按照程序行的書寫方式逐行向下執(zhí)行。 duplicateMovieClip(_root.ball, ball add i, i); setProperty(_root
19、.ball add i, _x, 10+i*30); setProperty(_root.ball add i, _y, 10+i*30); 例如,程序順序執(zhí)行上面的語句,在第1行指令中復(fù)制影片實例,在第2行和第3行設(shè)置復(fù)制后影片實例的屬性。,3 條件選擇流程控制 條件選擇語句用來判斷所給定的條件是否滿足,根據(jù)判斷結(jié)果真(True)與假(False),決定執(zhí)行一種選擇。一般說來,判斷條件是以關(guān)系表達式或邏輯表達式的形式出現(xiàn)。 條件選擇根據(jù)選擇結(jié)構(gòu),主要分成單向選擇、雙向選擇。 1. 單向選擇 單向選擇的語法為: if(condition) statements; 單向選擇是當判斷條件(cond
20、ition)成立時,則執(zhí)行if后面的statements語句。若條件不成立,則跳過后面的statements語句,執(zhí)行之后的流程語句。,例如: input = word if(input = dremers 在這個示例中,ActionScript執(zhí)行到if語句時先判斷:若括號內(nèi)的邏輯表達式的值為真,則先執(zhí)行“gotoAndPlay(welcome)”,然后再執(zhí)行后面的“gotoAndplay(wrong)”語句;若為假,則跳過if語句直接執(zhí)行后面的“gotoAndplay(wrong)”語句。,2. 雙向選擇 雙向選擇語句是在if語句中,將if與else聯(lián)用。雙向選擇的語法是: if(cond
21、ition) statements-A; else statements-B; 當if語句的條件式的值為真時,執(zhí)行statements-A的內(nèi)容,執(zhí)行完畢后跳過else語句向下執(zhí)行;如果if語句的條件式的值為假時,跳過statements-A的內(nèi)容,直接執(zhí)行statements-B的內(nèi)容。,例如: input = word if(input = dremers ,4 循環(huán)結(jié)構(gòu)流程控制 循環(huán)結(jié)構(gòu)流程控制就是通過一定的條件控制ActionScript中某一語句塊的反復(fù)執(zhí)行。當條件滿足時就停止執(zhí)行循環(huán)。循環(huán)控制語句是ActionScript最重要的基本語句之一,它對實現(xiàn)交互性性的控制有著舉足輕重的作
22、用。,1. while循環(huán)語句 while循環(huán)為前測式循環(huán),即在進入循環(huán)前先要進行條件判斷,若滿足條件才能進入循環(huán)語句區(qū)段。在語句區(qū)段內(nèi)必須有改變條件測試值的語句,使得再度進入循環(huán)前能再做一次的條件測試,若仍滿足條件,則再進入循環(huán)一次以此類推,直到測試值不再滿足條件時才會跳離循環(huán)去執(zhí)行接在循環(huán)之后的語句。 while循環(huán)的語法是: while(condition) statements; ,例如: i=5; while(i0) duplicateMovieClip(stars, stars ,2. do while循環(huán)語句 do while循環(huán)為后測式循環(huán),即不談任何條件直接進入循環(huán)執(zhí)行循環(huán)內(nèi)
23、的語句區(qū)段一次,若要再度進入循環(huán),則須用測試值經(jīng)過條件式的測試,當滿足條件,才能再進入循環(huán)執(zhí)行循環(huán)內(nèi)的語句區(qū)段;否則,執(zhí)行do while循環(huán)語句之后的語句。同樣,語句區(qū)段內(nèi)必須有改變測試值的語句,若測試值不再滿足條件式時才會跳離循環(huán)去執(zhí)行接在循環(huán)之后的語句。 do statements; while(condition),例如: i=5; do duplicateMovieClip(stars, stars,3. for循環(huán)語句 for循環(huán)語句含有起始表達式、條件表達式和增值表達式三個自變量。當起始表達式運算的結(jié)果符合條件表達式的測試,就會執(zhí)行循環(huán)內(nèi)的語句區(qū)段一次;接著再通過增值表達式的運算
24、,若其運算后的結(jié)果滿足條件表達式的測試,則再進入循環(huán)內(nèi)的語句區(qū)段一次;直到條件測試不通過,才跳出循環(huán)去執(zhí)行接在循環(huán)之后的語句。由于for循環(huán)語句被執(zhí)行的次數(shù)是通過起始值、增值的累計,所以當循環(huán)的次數(shù)是正數(shù)時才可以使用。 for循環(huán)語句的語法是: for(init;condition;next) statements; ,例如: for(var i=0; i10; i+) arrayi=(i+1)*10; 這一段ActionScript實現(xiàn)的是為數(shù)組賦初值,將“10、20、30、40、50、60、70、80、90、100”存入數(shù)組arrayi中。 如果在循環(huán)語句后需要輸出運算值,可以加了trac
25、e指令。,數(shù)組,創(chuàng)建數(shù)組:可以用下列格式創(chuàng)建數(shù)組 格式一: var 數(shù)組名:Array=new Array(元素1,元素2,) 格式二: var 數(shù)組名:Array=new Array(); 數(shù)組名0=值; 數(shù)組名1=值; ,例:我們上面建的數(shù)組,這樣寫 var myarray:Array=new Array(5,8,a); 或: var myarray:Array=new Array(); myarray0=5; myarray1=8; myarray2=a;,數(shù)組元素的引用 創(chuàng)建數(shù)組后,就可以引用其元素了,格式為: 數(shù)組名稱元素編號; 比如要引用上述數(shù)組第一個元素的值就可以這樣寫: mya
26、rray0 可以測試一下下面這段代碼: var myarray:Array=new Array(5,8,a); var b=myarray0; trace(b); 輸出應(yīng)該是5. 數(shù)組是對象,即是對象,那么就有它自已的屬性和方法,下面我們就來認識一下:,數(shù)組的方法: concat( ): 將參數(shù)中指定的元素與數(shù)組中的元素連接,并創(chuàng)建新的數(shù)組。如果 value 參數(shù)指定的是數(shù)組,則連接該數(shù)組的元素而不是數(shù)組本身。 例4: var myarray:Array=new Array(5,8,”a”) ;myarray1 = myarray.concat(b); for(var i in myarray
27、1) c = myarray1; trace(c); 輸出為:b a 8 5,用myarray1 = myarray.concat(b);將b連接到myarray數(shù)組中并創(chuàng)建新數(shù)組myarray1. 例5: var myarray:Array=new Array(5,8,a) myarray1 = myarray.concat(b); myarray2 = myarray.concat(myarray1); for(var i in myarray2) c = myarray1; trace(c); 這時myarray2應(yīng)該是:myarray25,8,a,5,8,a,b,這是用concat()
28、方法將兩個數(shù)組連接起來了.,join( ): 將數(shù)組中的元素轉(zhuǎn)換為字符串、在元素間插入括號中指定的分隔符、連接這些元素然后返回結(jié)果字符串。如果括號中沒有指定分隔符,那么分隔符將用逗號. 例6: var myarray:Array=new Array(5,8,a); c = myarray.join(“-“); trace(c); 輸出為:5-8-a 例7:在括號中不設(shè)分隔符則將用逗號作分隔符 var myarray:Array=new Array(5,8,a); c = myarray.join( ); trace(c); 輸出為:5,8,a,pop():刪除數(shù)組中最后一個元素,并返回該元素的
29、值。 例7: var myarray:Array=new Array(5,8,a); var c = myarray.pop(); trace(“被刪的是:” + c); trace(“被刪后的數(shù)組:” + myarray); 輸出結(jié)果是: 被刪的是:a 被刪后的數(shù)組:5,8,push():將一個或多個元素添加到數(shù)組的結(jié)尾,并返回該數(shù)組的新長度。 例8: var myarray:Array=new Array(5,8,a); var c = myarray.push(“b”,”c”); trace(“添加元素后數(shù)組的長度是:”+c); trace(“添加元素后的數(shù)組:”+myarray); 輸
30、出結(jié)果是: 添加元素后數(shù)組的長度是:5 添加元素后的數(shù)組:5,8,a,b,c,reverse():就地倒轉(zhuǎn)數(shù)組。 例9: var myarray:Array=new Array(5,8,a); trace(原數(shù)組是:+myarray); myarray.reverse(); trace(被倒轉(zhuǎn)后的數(shù)組是:+myarray); 輸出結(jié)果是: 原數(shù)組是:5,8,a 被倒轉(zhuǎn)后的數(shù)組是:a,8,5,slice(startIndex, endIndex): 返回由原始數(shù)組中某一范圍的元素構(gòu)成的新數(shù)組,而不修改原始數(shù)組。返回的數(shù)組包括 startIndex 元素以及從其開始到 endIndex 元素(但不
31、包括該元素)的所有元素。例10: var myarray:Array=new Array(1,2,3,4,5); var myarray1:Array = myarray.slice(0,3); trace(myarray1);輸出結(jié)果是:1,2,3,sort(): 對數(shù)組中的元素進行排序。Flash 根據(jù) Unicode 值排序。(ASCII 是 Unicode 的一個子集。) 默認情況下,Array. sort() 按下面的列表中的說明進行排序: * 排序區(qū)分大小寫(Z 優(yōu)先于 a)。 * 按升序排序(a 優(yōu)先于 b)。 * 修改該數(shù)組以反映排序順序;在排序后的數(shù)組中不按任何特定順序連續(xù)放
32、置具有相同排序字段的多個元素。 * 數(shù)值字段按字符串方式進行排序,因此 100 優(yōu)先于 99,因為 1 的字符串值比 9 的低。 例11: var myarray:Array=new Array(3,4,1,2,5); myarray.sort(); trace(myarray);輸出為:1,2,3,4,5 對數(shù)組進行了重新排序.,splice(startIndex, deleteCount, value): 給數(shù)組添加元素以及從數(shù)組中刪除元素。此方法會修改數(shù)組但不制作副本。 參數(shù)startIndex: 一個整數(shù),它指定插入或刪除動作開始處的數(shù)組中元素的索引。您可以指定一個負整數(shù)來指定相對于數(shù)
33、組結(jié)尾的位置(例如,-1 是數(shù)組的最后一個元素)。,deleteCount: 可選 一個整數(shù),它指定要刪除的元素數(shù)量。該數(shù)量包括 startIndex 參數(shù)中指定的元素。如果沒有為 deleteCount 參數(shù)指定值,則該方法將刪除從 startIndex 元素到數(shù)組中最后一個元素之間的所有值。如果該參數(shù)的值為 0,則不刪除任何元素。 value: 可選 指定要在 startIndex 參數(shù)中指定的插入點處插入到數(shù)組中的值。,例12:var myarray:Array=new Array(1,2,3,4,5); myarray.splice(1); trace(myarray); 輸出結(jié)果為:
34、1.本例在splice()方法中只用了一個參數(shù)1,這是指在插入或刪除的位置,數(shù)組編號從0開始,那么1的位置是第2個元素.第二參數(shù)未設(shè)置則將刪除從第2個元素開始的所有元素.第三個參數(shù)未設(shè)置則不插入新元素.所以執(zhí)行后數(shù)組中就只剩下第0號元素了.,例13: var myarray:Array=new Array(1,2,3,4,5); myarray.splice(1,2); trace(myarray); 輸出結(jié)果是:1,4,5 本例用了兩個參數(shù),第2個參數(shù)是2,就是說將刪除2個元素. 例14: var myarray:Array=new Array(1,2,3,4,5); myarray.spl
35、ice(5,0,6); trace(myarray); 輸出結(jié)果是:1,2,3,4,5,6 本例用了三個參數(shù),第一個參數(shù)為5,則是在數(shù)組的第6個位置上執(zhí)行操作,第二個參數(shù)是是0,是不刪除任何元素.第三個參數(shù)是6,是插入一個新元素6.,第 9次課,影片播放控制,認識Flash動作面板,(1)【動作】面板的組成 【動作】面板是Flash的程序編輯環(huán)境,它由兩部分組成。右側(cè)部分是“腳本窗口”,這是輸入代碼的區(qū)域。左側(cè)部分是“動作工具箱”,每個動作腳本語言元素在該工具箱中都有一個對應(yīng)的條目 .,在【動作】面板中,“動作工具箱”還包含一個“腳本導(dǎo)航器”(位置在如圖1所示的左下角小窗口),“腳本導(dǎo)航器”是
36、FLA文件中相關(guān)聯(lián)的幀動作、按鈕動作具體位置的可視化表示形式,在這里瀏覽FLA文件中的對象以查找動作腳本代碼。如果單擊“腳本導(dǎo)航器”中的某一項目,則與該項目關(guān)聯(lián)的腳本將出現(xiàn)在“腳本窗口”中,并且播放頭將移到時間軸上的該位置。,腳本窗口”上方還有若干功能按鈕,利用它們可以快速對動作腳本實施一些操作,(2)添加程序代碼 可以直接在【腳本輸入?yún)^(qū)】中編輯程序代碼、輸入函數(shù)和參數(shù)或刪除程序代碼。還可以雙擊“動作工具箱”中的某一個函數(shù),或單擊“腳本窗口”上方的【將新項目添加到腳本中】按鈕 ,向【腳本窗口】添加程序代碼。,(3)固定動作腳本 利用“腳本導(dǎo)航器”可以快速瀏覽影片不同位置的動作腳本,但是如果影片
37、中動作腳本比較多,并且動作腳本分散于FLA文件中的多個位置,那么可以在【動作】面板中固定(就地鎖定)多個腳本,以便在腳本之中移動。 雙擊“腳本導(dǎo)航器”中的某一項,則該腳本會被固定,被固定的腳本會在“腳本窗口”的下方顯示一個標簽。,用鼠標單擊這些被固定的腳本標簽,可以在被固定的腳本之間來回切換。,(4)關(guān)于代碼提示 在【動作】面板中編輯動作腳本時,F(xiàn)lash 可以檢測到正在輸入的動作并顯示代碼提示,即包含該動作完整語法的工具提示,或列出可能的方法或?qū)傩悦Q的彈出菜單。當精確輸入或命名對象時,會出現(xiàn)參數(shù)、屬性和事件的代碼提示,這樣,動作腳本編輯器就會知道要顯示哪些代碼提示。 例如,假設(shè)輸入以下代碼
38、: var names:Array = new Array(); names. 當輸入句點“.”時,F(xiàn)lash 就會顯示可用于 Array 對象的方法和屬性的列表,因為已經(jīng)將該變量的類型指定為數(shù)組,“腳本窗口”上面有一個【顯示代碼提示】按鈕 ,在編輯動作腳本時,隨時單擊這個按鈕也可以顯示代碼提示。,(5)檢查語法和標點 要徹底弄清編寫的代碼是否能像預(yù)期的那樣運行,需要發(fā)布或測試文件。不過,可以不必退出 FLA 文件就迅速檢查動作腳本代碼。語法錯誤列在【輸出】面板中。還可以檢查代碼塊兩邊的小括號、大括號或中括號(數(shù)組訪問運算符)是否齊全。 在【動作】面板中,可以用以下3種方法檢查語法: 單擊“腳
39、本窗口”上方的【語法檢查】按鈕 。 在【動作】面板中,單擊右上角的按鈕 ,在彈出的菜單中選擇【語法檢查】命令。,stop:使影片停止在當前時間軸的當前幀中。play:使影片從當前幀開始繼續(xù)播放。gotoAndStop:跳轉(zhuǎn)到用幀標簽或幀編號指定的某一特定幀并停止。gotoAndPlay:跳轉(zhuǎn)到用幀標簽或幀編號指定的某一特定幀并繼續(xù)播放。nextFrame:使影片轉(zhuǎn)到下一幀并停止。prevFrame:使影片回到上一幀并停止。,1使影片停止、播放,stop();執(zhí)行stop命令時,影片只是暫停在當前幀,在影片中嵌入的影片剪輯繼續(xù)播放,停止的僅僅是主時間軸中的動畫。,play();執(zhí)行play命令時,影片開始播放。,示例:其操作步驟如下:(1)啟動Flash,在時間軸中插入兩個空白關(guān)鍵幀,使時間軸包含3個空白關(guān)鍵幀。(2)在3個關(guān)鍵幀中使用文本工具分別添加字符1、2、3。(3)選中第2幀,按F9鍵打開動作面板,在其中添加如下的Acti
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年互聯(lián)網(wǎng)電路租賃合同(三篇)
- 2025年個人租房合租合同常用版(4篇)
- 保齡球館裝修合同范本
- 主題餐廳裝修免租合同
- 專賣店吊頂裝修合同
- 機場建設(shè)渣土運輸協(xié)議范本
- 臨時承接合同范本
- 偽造員工勞動合同范本案例
- 基金托管合同范例
- GB/T 308.1-2013滾動軸承球第1部分:鋼球
- 中藥炮制學(xué)-第五、六章
- 中國風(fēng)軍令狀誓師大會PPT模板
- 小兒高熱驚厥精品課件
- 2023機械工程師考試試題及答案
- 2022年電拖實驗報告伍宏淳
- 豐田汽車戰(zhàn)略規(guī)劃與戰(zhàn)略管理體系研究(2021)
- 即興口語(姜燕)-課件-即興口語第一章PPT-中國傳媒大學(xué)
- 公共政策學(xué)(第三版)-課件
- 冷卻塔是利用水和空氣的接觸
- 我的家鄉(xiāng)--安徽亳州.PPT
評論
0/150
提交評論