flash_快速學習AS代碼_第1頁
flash_快速學習AS代碼_第2頁
flash_快速學習AS代碼_第3頁
flash_快速學習AS代碼_第4頁
flash_快速學習AS代碼_第5頁
已閱讀5頁,還剩178頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、不會AS就等于不會Flash,目前AS跟JS基本相同,學習過JS的同學可以更快速了解。下邊是從最基本的開始學習。一、基礎入門講解認識“動作”面板在Flash中,動作腳本的編寫,都是在“動作”面板的編輯環(huán)境中進行,熟悉“動作”面板是十分必要的。按【F9】鍵調(diào)出“動作”面板,可以看到“動作”面板的編輯環(huán)境由左右兩部分組成。左側部分又分為上下兩個窗口。左側的上方是一個“動作”工具箱,單擊前面的圖標展開每一個條目,可以顯示出對應條目下的動作腳本語句元素,雙擊選中的語句即可將其添加到編輯窗口。下方是一個“腳本”導航器。里面列出了 FLA文件中具有關聯(lián)動作腳本的幀位置和對象;單擊腳本導航器中的某一項目,與

2、該項目相關聯(lián)的腳本則會出現(xiàn)在“腳本”窗口中,并且場景上的播放頭也將移到時間軸上的對應位置上。雙擊腳本導航器中的某一項,則該腳本會被固定。右側部分是“腳本”編輯窗口,這是添加代碼的區(qū)域。可以直接在“腳本”窗口中編輯動作、輸入動作參數(shù)或刪除動作。也可以雙擊“動作”工具箱中的某一項或“腳本編輯”窗口上方的【添加腳本】工具,向“腳本”窗口添加動作。在“腳本”編輯窗口的上面,有一排工具圖標,在編輯腳本的時候,可以方便適時的使用它們的功能。在使用“動作”面板的時候,可以隨時點擊“腳本”編輯窗口左側的箭頭按鈕,以隱藏或展開左邊的窗口。將左面的窗口隱藏可以使“動作”面板更加簡潔,方便腳本的編輯。好了,動作面板

3、就介紹這些,有個印象,不要求記住,工具欄上每個工具的作用和功能將在以后的課程中邊用邊熟悉。如何編寫 flash中的腳本首先,要知道編寫腳本,不需要用戶對 AS有完全的了解!現(xiàn)在要考慮的問題是,如何在你的 flash中添加編寫腳本?簡單的說,添加腳本可分為兩種:一是把腳本編寫在時間軸上面的關鍵楨上面(注意,必須是關鍵楨上才可以添加腳本)。二是把腳本編寫在對象身上,比如把腳本直接寫在 MC(影片剪輯元件的實例)上、按鈕上面。此外,大家也需要簡單理解一下 flash是如何執(zhí)行你編寫的腳本的。當你在時間周的關鍵楨上添加了腳本,那么當 flash運行的時候,它會首先執(zhí)行這個關鍵楨上的腳本,然后才會顯示這

4、個關鍵楨上的對象。還有一些簡單的知識,AS中的對象都包括什么呢?它可以包含數(shù)據(jù),也可以是舞臺上的電影剪輯,也可以是舞臺上的按鈕等。既然包含了那么多對象,那么每種對象肯定有各自的屬性!比如電影剪輯(movieclip)對象,它的:屬性就有_height(高度),_rotation(旋轉),等,這些屬性不需要你去特意的記憶,當使用的時候可以隨時翻閱腳本字典。在以后的教程中會陸續(xù)給大家介紹一些基礎腳本的使用技巧。二、需要學到的基本 AS命令如下: stop()、play()、gotoandplay()、gotoandstop()、nextFrame()、prevFrame();、nextScene(

5、)、prevScene();、 stopAllSounds();按鈕的 AS編寫規(guī)則播放 on (release) _root.mc.play(); 如果要在按鈕身上寫腳本的話,必須使用 on(事件)/腳本程序的格式來寫!上面的腳本作用就是:當你在這個按鈕上按一下鼠標(release事件)的時候,就會執(zhí)行下面的_root.mc.play();程序,它的意思是讓舞臺上的 mc開始播放!6、同理:咱們選中舞臺上的暫停按鈕,在它上面輸入: on (release) _root.mc.stop() 然后依次在快退上輸入: on (release) _root.mc.prevFrame(); /prev

6、Frame表示回到動畫的上一楨 在快進的按鈕上輸入: on (release) _root.mc.nextFrame(); 在停止的按鈕上輸入: on (release) _root.mc.gotoAndStop(1);/跳到 mc影片的第一楨,并停止播放! 二、按鈕 AS的編寫在 flash中的交互功能一般是由按鈕來完成的。掌握按鈕的編寫規(guī)則也是一個閃客的基本技能。 OK現(xiàn)在咱們來說說按鈕腳本如何編寫。上一講中提過,AS腳本編寫可以寫在時間軸的關鍵楨上,也以寫在對象本身上面。按鈕也不例外,既可以寫在時間軸上,也可以寫在按鈕本身上面。只不過這兩種編寫規(guī)則都要遵循一定的規(guī)矩,這是后話?,F(xiàn)在咱們來

7、做一個例子,做一個按鈕,這個按鈕要實現(xiàn)的功能就是打開一個指定的網(wǎng)頁。(這個例子非常基礎,用這個例子來講解按鈕 AS兩種編寫方法。)第一種:把腳本寫在按鈕本身。一、在舞臺上繪制一個矩形,選中矩形并按 F8,將這個矩形轉換成按鈕元件。二、編寫動作腳本:選中按鈕,按 F9,打開動作面板,在專家模式下輸入以下腳本: on(release) getURL(" 現(xiàn)在這個按鈕就實現(xiàn)了一個打開網(wǎng)頁的功能。通過例子你應該注意到,按鈕的 AS書寫規(guī)則就是: on(事件) /要執(zhí)行的腳本程序,剛才的例子是用 getURL來打開一個網(wǎng)頁。你也可以使用腳本程序來執(zhí)行其他功能,例如跳轉到某一個楨,或載入外部一個

8、動畫文件。 大可以看到,其實就一個 on語句,這個 on語句就是按鈕的 AS編寫規(guī)則了。需要注意的是 on里面的事件,這個事件你可以理解為是鼠標或鍵盤的動作。剛才的例子我們使用的事件是 release(按一下鼠標)我現(xiàn)在把常用的按鈕事件列出來:事件名字說明 Press事件發(fā)生于鼠標在按鈕上方,并按下鼠標 Release發(fā)生在按鈕上方按下鼠標,接著松開鼠標時。也就是“按一下”鼠標 Releaseoutside發(fā)生于在按鈕上方按下鼠標,接著把光標移動到按鈕之外,然后松開鼠標 Rollover當鼠標滑入按鈕時 Rollout當鼠標滑出按鈕時 Dragover發(fā)生于按著鼠標不放,光標滑入按鈕 Drag

9、out發(fā)生于按著鼠標不放,光標滑出按鈕 Keypress發(fā)生于用戶按下特定的鍵盤按鍵時,下面來看看第二種按鈕 AS的編寫方法。這種方法是把腳本程序寫在時間軸上,而不是按鈕本身上面。一、選中按鈕,在下面的屬性面板中為按鈕起一個名字,這里我起了一個 bt二、選中時間軸的第一楨,按 F9打開動作面板。輸入如下腳本: bt.onrelease =function() getURL("http:/ "_blank"); ;這種編寫 AS的方法要遵循的規(guī)則就是下面的公式而已:按鈕實例的名字.事件名稱=function() /要執(zhí)行的腳本程序大家只要記住這個公式就可以套用了。按

10、鈕的 AS就先將到這了,這個可以算是基本技能了。希望大家都能掌握。三、影片剪輯的 AS編寫影片剪輯在 flash中可以說是使用最多的一種元件了,那么對于它的 AS也是不少。在講解之前我還是要重新說一下電影剪輯 AS的編寫規(guī)則,和上次講按鈕一樣,分為兩種,一種是寫在電影剪輯本身上,一種是寫在時間軸上面。一、首先我們先來做個簡單的小例子?;蛟S你不用 AS就能做出一個小球的移動動畫。但是如果讓你用 AS來實現(xiàn)小球的移動呢?下面來看看如何用 AS來實現(xiàn)吧。在這個例子里,你首先會了解到如何在電影剪輯本身上編寫 AS,以及編寫規(guī)則。 1、新建立一個影片剪輯元件,里面你就隨便畫一個圓吧。之后把這個影片剪輯拖

11、放到舞臺之中(也就是創(chuàng)建一個此影片剪輯的實例)。 2、現(xiàn)在開始編寫腳本,選中這個 MC,按 F9打開動作面板,按照圖 01顯示選擇 onClipEvent,之后在顯示的事件中選擇 enterFrame,然后在里面編寫腳本如下: this._x+=5這個腳本編寫之后應該是: onClipEvent (enterFrame) / enterFrame的意思四以影片幀頻不斷地觸發(fā)此動作 this._x += 5;/this代表這個影片剪輯自身。_x表示影片剪輯的 X軸坐標。 呵呵,按下你的 ctrl+回車測試一下吧,一個簡單的移動動畫就搞定了。從這個例子咱們不難看出,如果把 AS寫在影片剪輯本身上,

12、那么它是有自己的書寫格式的。正確的書寫格式就是: onClipEvent (事件) /需要執(zhí)行的腳本程序 這個可以看成是公式,你記住就行了,是寫在影片剪輯身上的。括號里的“事件”其實是個觸發(fā)器,當事件發(fā)生時,執(zhí)行該事件后面花括號中的語句。,具體有哪些事件,我把它們都列出來。 -load影片剪輯一旦被實例化并出現(xiàn)在時間軸中時,即啟動此動作。 -unload在從時間軸中刪除影片剪輯之后,此動作在第一幀中啟動。處理與 Unload影片剪輯事件關聯(lián)的動作之前,不向受影響的幀附加任何動作。 -enterFrame以影片幀頻不斷地觸發(fā)此動作。 -mouseMove每次移動鼠標時啟動此動作。_xmouse和

13、 _ymouse屬性用于確定當前鼠標位置。 -mouseDown當按下鼠標左鍵時啟動此動作。 -mouseUp當釋放鼠標左鍵時啟動此動作。 -keyDown當按下某個鍵時啟動此動作。使用 Key.getCode方法獲取最近按下的鍵的有關信息。 -keyUp當釋放某個鍵時啟動此動作。使用 Key.getCode方法獲取最近按下的鍵的有關信息。 -data當在 loadVariables或 loadMovie動作中接收數(shù)據(jù)時啟動此動作。當與 loadVariables動作一起指定時,data事件只發(fā)生一次,即加載最后一個變量時。當與loadMovie動作一起指定時,獲取數(shù)據(jù)的每一部分時,data事

14、件都重復發(fā)生。了解了事件之后,你可以自己試著修改一下腳本,如果讓你們點一下鼠標,舞臺上的圓就移動一下,該怎么做呢?關于把 AS寫在影片剪輯本身的例子先講到這,下面來看看如果把 AS寫在時間軸上面的話,應該怎么寫。首先你把剛才的腳本去掉。然后需要為這個影片剪輯實例起一個名字,比如起名為 mc在選中時間軸的第一楨,打開動作面板,輸入以下腳本: mc.onEnterFrame = function() this._x += 5;/你也可以把這句改為 mc._x+=5自己想一下為什么。 ;顯而易見,在時間軸上的寫法就應該套用以下公式:實例名.事件名稱=function() /腳本程序 需要注意的是,這

15、種寫法的事件名稱不要忘了在前面加一個 on,比如,事件如果是 enterframe的話,你就應該寫成 onenterframe下面簡單說一下影片剪輯的屬性。比如,影片剪輯有自己的 X、Y軸坐標,有自己的透明度(_alpha),這些都是它的屬性。那么如何使用這些屬性呢?你可以使用“點”語法來對屬性進行設置。把上面的腳本修改一下。 mc.onenterframe =function() mc._x +=5; mc._alpha =random(100); ;這里我加了一句 this._alpha= random(100),它是設置影片剪輯的透明度的,使用的語句就是_alpha。后面的 random

16、()函數(shù)是隨機選取一個 100以內(nèi)的數(shù)字作為它的透明度。從這個句子可以看出,“點”語法使用方法就是:實例名 .屬性(mc._alpha),你甚至可以簡單理解為“點”就是“的 ”,那么 this._alpha這句你就可以理解為:影片剪輯 mc的透明度上面的腳本 mc._alpha =random(100)也可以改為_root. mc._alpha = random(100)那么,你就可以理解為:舞臺上的影片剪輯 mc的透明度是隨機選擇內(nèi)的值。四、動態(tài)文本框一、flash中的動態(tài)文本使用方法在 flash中,文本工具提供了三種文本類型。分別是:靜態(tài)文本、動態(tài)文本和輸入文本。下面講解的內(nèi)容屬于動態(tài)文

17、本的 AS編寫規(guī)則。要創(chuàng)建一個動態(tài)文本非常簡單,只需要選中文本工具,然后選擇動態(tài)文本類型,然后在舞臺上拖拽出所需要的動態(tài)文本框就行了。二、如何為動態(tài)文本賦值當在舞臺上拖拽出動態(tài)文本框之后,可以直接在里面進行文本輸入或粘貼外部文本內(nèi)容。那么用 AS如何來對動態(tài)文本框賦值呢?在這里為大家介紹兩種方法進行賦值! 1、使用動態(tài)文本的實例名字來賦值操作步驟:(1)在舞臺上創(chuàng)建一個動態(tài)文本框,并為這個動態(tài)文本實例起一個名字,例如 abc(2)選中時間軸的第一楨,打開動作面板,輸入以下腳本: abc.text ="愛國者安全網(wǎng)"按下 ctrl+回車就可進行測試了。從這個簡單的例子可以知道

18、,如果要用文本實例名字來進行賦值的話,必須使用以下格式:動態(tài)文本實例的名字 .text=”需要賦值的內(nèi)容” 2、使用變量來賦值(1)在舞臺上創(chuàng)建一個動態(tài)文本框,并為這個動態(tài)文本實例起一個變量名 3800hk。(2)選中時間軸的第一楨,打開動作面板,輸入以下腳本: 3800hk= "歡迎大家來到愛國者安全網(wǎng)學習!"不難看出,使用變量賦值更為簡單實用!賦值格式為:變量名 =“賦值的內(nèi)容”以上兩種賦值方法如果內(nèi)容過多需要換行的時候,需要使用行用回車符( “r”即 ASCII 13)分隔!三、如何載入外部 txt文本里的內(nèi)容當內(nèi)容過多的時候,使用上面的方法并不是太好,我們可以使用下

19、面的方法,從外部獲取文本資料內(nèi)容!而外部的資料內(nèi)容就放在一個普通的 txt(記事本)文件中。具體操作步驟如下: 1、創(chuàng)建一個動態(tài)文本實例,并為這個動態(tài)文本實例起一個變量名 hk 2、選中時間軸的第一楨,打開動作面板,輸入以下腳本: loadVariablesNum("heiying.txt",0);/載入外部名字叫 heiying.txt的文本文件,加載級別為 0 3、現(xiàn)在來準備外部的 heiying.txt文本文件了。注意:要把這個文本文件和你剛才做的 flash文件放在一個文件夾里!這個 txt文件里的資料應該按照如下格式編寫:flash中動態(tài)文本變量的名字=這里就是所

20、需要的資料內(nèi)容。對應上面的格式,外部 heiying.txt中的內(nèi)容為: hk=歡迎大家來到愛國者安全網(wǎng)學習!。最后一點,需要將這個文本文件保存為 UTF-8格式。 4、完成以上步驟之后,就可以進行測試了。下面介紹另外一種載入外部文本資料的方法,并介紹當文本內(nèi)容過多時候,如何使用滾動條組件(1)創(chuàng)建一個動態(tài)文本實例,并并為這個動態(tài)文本實例起一個實例名字 anquan(注:是實例名而不是變量名)起一個變量名為 hk(2)打開 flash的組件面板(快捷鍵 ctrl+F7),找到 UIScrollBar(滾動條)組件。按著它不動,然后拖放此組件至剛才的動態(tài)文本實例的右部邊緣,如果成功的話,組件會和

21、文本框結合在一起?。?)選中舞臺第一楨,編寫如下腳本: tt =new LoadVars();/創(chuàng)建一個 LoadVars對象的實例,這里的實例名字叫 tt tt.load("heiying.txt");/創(chuàng)建的 tt實例需要載入的對象是 heiying.txt文本文件。 tt.onLoad = function(s) /開始載入外部文件,具體格式請按照此例格式。參數(shù) s是指示 load操作是否成功完成。如果完成,那么 S的值就為 true(真),反之為 false(假) if(s) anquan.text =tt.hk; /如果載入成功,則 anquan文本框中的內(nèi)容就等

22、于 tt.實例中的 heiying的內(nèi)容?。╤k是我們外部文本文件中的變量。) ; (4)至于外部的 heiying.txt還可以使用剛才所創(chuàng)建的文本文件,為了測試滾動條的效五、影片剪輯的拖拽在網(wǎng)上經(jīng)常看到的 flash影片中有的對象可以被鼠標進行拖動。例如有的類似七巧板的拼圖游戲,控制音量的滑桿等,所使用的就是 flash中的拖拽動作。一、拖拽命令詳細介紹、首先介紹一下開始拖拽命令的詳細用法,稍后在后面的例子中進行測試。命令格式: StartDrag(要拖動的影片剪輯,是否鎖定到鼠標位置中央,左,上,右,下)或寫為要拖動的影片剪輯.StartDrag(是否鎖定到鼠標位置中央,左,上,右,下)

23、命令講解:在制作動畫的過程中,上面兩種書寫方法可任選一種。其中內(nèi)的為可選參數(shù),也就是可以寫,也可以不寫。至于左,上,右,下四個參數(shù)是用來控制被拖對象的移動范圍。、停止拖拽命令講解命令格式:被拖動的影片剪輯實例名 .stopDrag()這樣就可以停止對對象的拖拽動作。二、實例講解下面來用一個簡單的例子實驗拖拽命令。操作步驟:、新建一個 flash文檔,并在舞臺上繪制一個圓形。選中圓形并按,將此圓形轉換為影片剪輯,起名為:圓。確定后將會在舞臺上創(chuàng)建一個圓的實例。、選中此實例,并按打開動作面板。輸入如下腳本: on (press) this.startDrag(true);/當鼠標按下(press)

24、之后,這個實例(因為我們把腳本寫在實例本身了,所以這里用 this代替影片剪輯實例的名字)可以被拖拽,使用命令如上面的命令解釋。對于參數(shù)的選擇方面,這里只填寫了鎖定到鼠標位置中央,如果想選不鎖定到鼠標位置中央,可以把 true改為 false。有興趣的朋友可以更改為 false看看。 on (release) this.stopDrag();/同樣道理,當鼠標釋放(release)之后,將停止拖拽動作。 、好了,現(xiàn)在讓我們按 Ctrl+回車來測試一下吧,你將會看到舞臺上的圓被你的鼠標拖動的效果。、,通過這個例子我們可以簡單的應用拖拽動作了?,F(xiàn)在需要把這個例子繼續(xù)完成,還記得上面命令講解中的左,

25、上,右,下四個控制拖動范圍的參數(shù)嗎?現(xiàn)在來制作具有約束拖動范圍的效果。、現(xiàn)在在舞臺上繪制一個*大小的矩形,注意只要邊框不要填充。、如果我們希望在拖動的時候這個圓只能在矩形內(nèi)拖動的話,就要先設置這個矩形的坐標,并記下矩形四個頂點的坐標(這點很重要?。?。,比如,現(xiàn)在此例子中的矩形的四個頂點分別如上圖所示。那我們要取的四個參數(shù)就應該是:左,上,右,下現(xiàn)在打開動作面板,修改剛才的腳本如下: on (press) this.startDrag(true, 50, 100, 250, 200);/這里我們就使用剛才確定好的個參數(shù)。個點的參數(shù)就對拖動對象實現(xiàn)了一個矩形區(qū)域的移動約束! on (release

26、) this.stopDrag(); 、好了,按 Ctrl+回車去測試吧!好了,關于拖拽的講解先到這里,下面我們來學習如何結合著拖拽動作來檢測對象之間的碰撞!三、碰撞命令的講解命令格式:目標影片剪輯的實例 .hihkest(被拖拽的實例)這個是比較簡單的檢測碰撞命令目標影片剪輯的實例.hihkest(被拖拽實例的軸坐標,被拖拽實例的軸坐標,對象的矩形區(qū)域范圍還是對象本身范圍)這個是比較復雜點的檢測碰撞命令命令解釋:以上兩個命令都是用來檢測碰撞的,可以根據(jù)需要選擇不同的命令。重點解釋一下對象的矩形區(qū)域范圍和對象本身范圍(上面的命令中,false表示對象的矩形區(qū)域范圍,true表示對象本身的范圍)

27、四、碰撞命令與拖拽命令的結合使用(一)、下面通過簡單的例子來學習碰撞命令(我們先來學習如何檢測是否碰到對象的矩形區(qū)域范圍)、新建一個 flash文檔,在舞臺上繪制一個圓形。選中圓形并按將它轉換為影片剪輯,起名:圓。這樣就在舞臺上創(chuàng)建了一個圓的實例。、選中此實例,為它起一個名字,此例起名為:yuan、選擇文字工具,并選擇文字類型為“動態(tài)文本 ”,在圓的實例下面拖繪出一個動態(tài)文本框。并起一個變量名為:hk、選中時間軸的第一楨,按打開動作面板,輸入以下腳本: _root.onEnterFrame = function() /這個是在時間軸上的編寫規(guī)則,解釋為舞臺上每楨都執(zhí)行下面的腳本(onEnter

28、Frame)。 if(_root.yuan.hitTest(_root._xmouse, _root._ymouse, false) /根據(jù)上面命令的講解,這個語句就是檢測碰撞了。如果鼠標碰到舞臺上 yuan這個實例的矩形區(qū)域范圍的話,就執(zhí)行下面的腳本。hk = "接觸矩形區(qū)域范圍" /動態(tài)文本框就顯示出“接觸矩形區(qū)域范圍” else hk = "沒有接觸到矩形區(qū)域范圍" /如果鼠標沒有碰到舞臺上 yuan這個實例的矩形區(qū)域范圍的話,就顯示沒有接觸到矩形區(qū)域范圍。 ;現(xiàn)在可以按 Ctrl+回車去測試我們的成果(二)、拖拽碰撞檢測現(xiàn)在再來一個例子講解拖拽碰

29、撞檢測,想偷懶的話可以通過修改上面例子的代碼來學習。、現(xiàn)在稍微修改一下上面的例子,以便讓我們學習拖拽碰撞檢測,在上面例子的舞臺上繪制一個矩形,并把這個矩形轉換成電影剪輯,起名為:矩形。這樣就在舞臺上又創(chuàng)建了一個矩形的實例,現(xiàn)在為這個矩形實例起一個名為: juxing。、選中這個矩形實例,打開動作面板,輸入可以拖拽這個實例的腳本。如下: on (press) this.startDrag(true); on (release) this.stopDrag(); 這個腳本就是為了能拖動這個矩形實例。具體解釋請回顧第一個拖動對象例子的腳本說明。、現(xiàn)在來修改腳本,選中時間軸的第一楨,按打開動作面板,你

30、將會看到上個例子的碰撞檢測腳本,把它修改為如下腳本: _root.onEnterFrame = function() if(_root.yuan.hitTest(_root.juxing) hk = "碰到了" else hk = "沒有碰到" 這個腳本和上次的碰撞檢測腳本類似,只不過不需要再書寫軸和軸,也不用寫是否碰到矩形區(qū)域范圍。簡單吧現(xiàn)在又到了測試階段了,去觀看你的成果六、流程控制與循環(huán)語句眾所周知,flash中動畫依靠的是時間軸,在沒有腳本的情況下,動畫會依照時間軸從第一幀不停的播放到最后一幀,然后始重復播放或者干脆停止。為了能更好的控制動畫,就

31、必須使用腳本語句。而要想使動畫具有邏輯判斷的功能,就要使用流程控制和循環(huán)控制語句了!下面通過幾個簡單的小例子來學習流程與循環(huán)控制語句。一、流程控制語句所謂流程控制,無非就是我們想控制動畫程序的執(zhí)行順序而已。我們可以讓 flash根據(jù)一些特定的條件,來決定要執(zhí)行哪個程序。這樣就好象給了程序一些判斷的機制。 if.else控制語句根據(jù)英文的意思,大家可以簡單的理解上面的控制語句:如果.就.否則.就.下面來看看這個流程控制語句的書寫格式。 if(條件) /條件成立的話,就執(zhí)行這里的程序。 else /條件不成立的話就執(zhí)行這里的程序。 下面重點說一下 if后面括號內(nèi)的條件。這個條件可以是一個固定的值,

32、也可以是一個變量或表達式。如果條件成立的話,也就是條件為真(true),就會執(zhí)行 if后面的程序,如果條件不成立,也就是條件為假(false),就會執(zhí)行 else里的程序。例如:有這么一個條件,A>B將這個表達式代入 if后面的括號內(nèi),這個流程語句的意思就變成:如果 A>B的話,就執(zhí)行第一個大括號內(nèi)的程序,如果不大于,就將執(zhí)行 else后面大括號內(nèi)的程序。實例講解:、新建一個 flash文檔,在舞臺上繪制一個圓,選中圓并按轉換成影片剪輯,起名為:圓這樣就在舞臺上創(chuàng)建一個圓的實例。、選中舞臺上的實例,按打開動作面板,輸入如下腳本: onClipEvent (enterFrame) i

33、f(this._x<400) /流程條件控制語句,如果這個圓的實例的軸坐標小于,就執(zhí)行后面的程序。 this._x += 5;/讓這個圓的坐標向右移動個象素 else this._x = 0;/控制語句,如果剛才的條件不成立。也就是圓實例的坐標不小于,就讓它的坐標為 上面的腳本是一個非常簡單的流程控制語句,根據(jù)實例的坐標來進行判斷。因為我們使用了 enterFrame事件,所以 flash會不停的執(zhí)行下面 if.else語句。、測試影片。會看到圓不停的向右移動,當它的坐標大于或等于的時候,程序會把它的坐標重新更改為。二、循環(huán)控制語句所謂的循環(huán)語句,其實也是用條件來控制的,只要條件成立,那

34、么,程序就會不停的執(zhí)行下去,一直執(zhí)行到條件不成立為止!常用的循環(huán)語句包括 while循環(huán)、for循環(huán)等。因為篇幅有限,下面只重點講解 for循環(huán)的使用方法。 For循環(huán)命令格式: for(初始變量;條件語句;迭加命令語句) /用戶自己編寫的腳本。 首先強調(diào)一點,for語句的括號內(nèi)有三個項目,必須要用分號間隔開!初始變量:循環(huán)語句也是用條件是否成立來控制的,通常我們用一個變量來控制程序執(zhí)行的次數(shù)。那么,這個初始變量就要先定義一個值。要注意的是,初始變量這個項目只執(zhí)行一次!條件語句:這個項目就是我們的判斷語句了。如果這個項目判斷為真(true),也就是條件成立了。它就直接跳進大括號內(nèi)執(zhí)行里面的程序

35、!反之,如果條件為假(false),它就直接跳出這個 for語句了。迭加命令語句:接上面的條件語句,如果條件語句成立,會執(zhí)行內(nèi)的程序,那么執(zhí)行完程序之后,就要回來執(zhí)行迭加命令語句了。通常它就用來增加或減少剛開始時的初始變量的值。實例講解:、新建一個 flash文檔,在舞臺上繪制一個圓,選中圓并按轉換成影片剪輯,起名為:圓這樣就在舞臺上創(chuàng)建一個圓的實例。、為這個實例起名為:yuan、添加一個新的層,并選中新層的第一幀,按打開動作面板,輸入如下腳本: for (i=1;i<5; i+) duplicateMovieClip("yuan", "yuan"

36、+i, i); _root"yuan"+i._x =random(400); _root"yuan"+i._y =random(300); _root"yuan"+i._alpha =random(100); 如果大家實在覺得 for語言很難讀懂的話,你可以按照 for語言執(zhí)行的順序把 i=1代入程序走一遍,可以幫助你理解程序。例如:當 i等于的時候,程序開始判斷它是否小于,那么肯定小于了,條件為真,就執(zhí)行內(nèi)的復制程序,同時復制出來的新實例的名字就變成了 yuan1,接著就是設置 yuan1的坐標和透明度。之后,for語句開始回去執(zhí)行

37、 i+,此時,i的值就變?yōu)榱?。然后又開始循環(huán)判斷執(zhí)行下去.(你可以算一下,這個 for循環(huán)總共循環(huán)了幾次呢?答案是次。)、選中時間軸的第幀,按插入一關鍵幀,打開動作面板輸入以下腳本: gotoAndPlay(1);讓 flash播放到第幀的時候返回第幀再來執(zhí)行 for循環(huán)語句。、測試效果吧,你會看到舞臺上會循環(huán)次復制出個圓。希望大家能通過這兩個簡單的例子掌握流程控制語句和循環(huán)控制語句七、繪圖及顏色的 AAAAASSSSS的編寫在使用 flash的過程中,難免會進行繪圖的操作。除了用工具面板上的工具繪制圖形之外,我們也可以使用 ActionScript來繪制圖形。如何繪制線段及命令解釋 line

38、Style(粗細,顏色,透明度)/設置繪制圖形的線條粗細、顏色和透明度 Moveto(坐標,坐標) /設置繪圖線條的起點坐標 lineto(坐標,坐標)/設置線條的結束坐標現(xiàn)在就用剛才的三個命令在舞臺上繪制出來一個*大小的矩形。步驟:、新建立一個 flash文檔。、既然要繪制一個*大小的矩形,我們就要先確定矩形個頂點的坐標,然后就可以使用 lineto命令進行編寫了。、選中時間軸的第一楨,打開動作面板?,F(xiàn)在已經(jīng)確定了矩形的個頂點,那么我們就可以來編寫腳本命令了,請輸入以下腳本:_root.lineStyle(1, 0x000000, 100);/設置線條的粗細,顏色和透明度 _root.mov

39、eTo(50,50);/設置開始點的坐標。 _root.lineTo(350, 50); _root.lineTo(350, 150); _root.lineTo(50, 150); _root.lineTo(50, 50);/設置結束點坐標,整個矩形繪制完畢相信大家通過上面的命令就很容易的用繪制出所需要的形狀,充分發(fā)揮你的想象力,可以通過 lineto命令來設置多個點,從而創(chuàng)造出各種各樣的形狀。熟悉了繪制線條的命令之后我們來用一個例子加深印象。操作步驟:、新建立一個 flash文檔,在舞臺上繪制一個圓,選中它并按轉換成影片剪輯,起名為:圓。、打開庫面板,請將影片剪輯“圓”在舞臺上再拖放一個實

40、例,使舞臺上存在兩個圓的實例。、現(xiàn)在為舞臺上兩個實例分別起名字為 a和 b、選中時間軸第一楨,打開動作面板,輸入以下腳本: function draw() /自己定義一個函數(shù),這個函數(shù)起名為 draw(可自定),函數(shù)的功能是要實現(xiàn)以 a實例的坐標為起點,向 b實例繪制線條。 _root.hkear();/清除舞臺上繪制的線條。 _root.lineStyle(1, 0x000000, 90);/設置線條的粗細,顏色和透明度。 _root.moveTo(a._x, a._y);/以 a實例的坐標為起點開始繪制線條。 _root.lineTo(b._x, b._y);/以 b實例的坐標為繪制線條的

41、結束點。 draw();/執(zhí)行函數(shù) draw,它將會在 a與 b之間繪制出一條黑色的線條。解釋:為了減輕編寫的工作量和程序的重復率,可以將某些功能定義為一個函數(shù),例如上面的 draw(),在使用的時候,直接執(zhí)行定義過的函數(shù),就可以完成函數(shù)的功能。、現(xiàn)在創(chuàng)建拖動效果,選中舞臺上的 b實例,打開動作面板,輸入以下腳本: on (press) /點擊此實例,開始拖動 this.startDrag(true); on (release) /釋放鼠標,停止拖動 this.stopDrag(); onClipEvent(mouseMove) /當鼠標移動,也就是這個 b實例移動的時候,就執(zhí)行里面的程序。

42、_root.draw();/執(zhí)行舞臺上定義過的 draw()函數(shù),開始在 a與 b之間繪制線條。 updateAfterEvent();/強制更新畫面,是整個動畫更加流暢。 按 Ctrl+回車測試動畫效果。二、顏色命令講解 setRGB()用來設置實例的顏色值,注意,這個值用進制表示,例如 0x000000(黑色)getRBG()獲取實例的顏色值下面用一個相對簡單的例子來說明顏色命令的使用以及如何填充顏色要想使用顏色命令,我們必須先構建一個 Color對象。方法就是自定義名字 = new Color("要改變顏色的對象"),構建完 color對象之后,我們就能使用 setR

43、GB或 getRGB來設置或獲取顏色了。步驟:、新建立一 flash文檔,背景大小為*、選中時間軸第一楨,打開動作面板,我們現(xiàn)在要用來幫助我們創(chuàng)建一個影片剪輯的實例。所用到的命令為: createEmptyMovieClip("實例名稱",深度)。創(chuàng)建一個影片剪輯實例,并起名為 hk。輸入下面腳本。 _root.createEmptyMovieClip("hk",1); /使用創(chuàng)建命令在舞臺上創(chuàng)建一個名字叫 hk的影片剪輯實例,深度為 1接下來我們要對這個 hk實例進行繪制圖形和填充圖形!現(xiàn)在我們用繪制一個*大小的矩形,并且把這個矩形填充為黑色,腳本如下

44、: with (hk) /使用 with命令設置 hk的各個屬性 beginFill(0x000000, 85); /開始填充這個 hk實例,顏色為黑色,透明度為 85 lineStyle(1, 0x999999, 100); /設置這個實例的邊框粗細為 1,顏色為灰色,透明度為 100 moveTo(50,50); /設置繪制線條的起點坐標 lineTo(350,50); lineTo(350,150); lineTo(50, 150); lineTo(50, 50); /結束繪制,將在舞臺上繪制出一個 300*100大小的矩形。 endFill(); /結束填充,與 beginFill()

45、命令對應。 OK,現(xiàn)在我們就已經(jīng)創(chuàng)建了一個黑色的矩形。現(xiàn)在我們要繼續(xù)實現(xiàn)變色的功能,也就是當鼠標移動的時候,這個矩形會隨機變換顏色!就需要用到我們的構建 Color對象的命令了。腳本如下: _root.onMouseMove = function() /當鼠標移動的時候就執(zhí)行下面的腳本命令。 hk_color =new Color("hk");/構建一個名字叫 hk_color的 Color對象。 yanse= "0x"+random(100)+random(100)+random(100);/用一個變量 yanse來獲取一個數(shù)值,這個數(shù)值就是顏色值 h

46、k_color.setRGB(yanse);/設置矩形的顏色。 ;好了,這個例子是完全由腳本編寫而成,所有腳本都在時間軸的第一楨、按 Ctrl+回車來測試你的影片吧會看到矩形會隨著鼠標的移動而不斷進行顏色變化。八、聲音 AAAAASSSSS的編寫與控制一個好的 flash作品,缺少了聲音,就如同人不會講話一樣。而 flash 中對聲音的支持也非常不錯,除了可以使用時間軸放置聲音文件之外,我們還可以使用來更加準確的控制聲音!一、FLASH中如何創(chuàng)建聲音控件如果想控制動畫中的聲音,我們可以使用 flash中的 sound對象,通過 sound命令創(chuàng)建一個新的 sound對象。之后再用 attach

47、Sound命令連接到庫里的聲音,就可以用來控制動畫中的聲音了。常用命令講解: new Sound()此命令用來創(chuàng)建一個新的 sound對象,有了 sound對象我們才能用來控制聲音。 attachSound("庫中的聲音")此命令可以使我們創(chuàng)建的聲音對象連接到庫里的聲音,以便進行控制。 start(從第幾秒開始播放,循環(huán)次數(shù))此命令可以是聲音開始播放,里面的兩個參數(shù)是可選的。 stop()停止聲音的播放。 setVolume(音量級別)此命令可以控制聲音的音量高低,音量級別只能是從之間的數(shù)字?,F(xiàn)在我們也應該用先做一個簡單的小例子了。二、創(chuàng)建一個簡單的聲音播放動畫,可以實現(xiàn)簡

48、單的開始與停止播放聲音。操作步驟:、新建一個 flash文檔,按 Ctrl+R(文件導入)導入一個聲音文件,聲音文件可以是 MP3或 WAV格式的。聲音文件導入之后,在舞臺上是看不見的,必須打開庫才能看到我們導入的聲音。、選中庫中的聲音文件,單擊鼠標右鍵,在彈出的菜單中選擇“鏈接.”將會彈出一個鏈接的對話框,請勾選“為動作腳本導出”和“在第一幀導出”選項,并輸入一個標識符: mysound(名字可任意寫),單擊確定。、回到主舞臺,選中時間軸的第一楨,按打開動作面板。現(xiàn)在我們要創(chuàng)建一個新的聲音對象,并且連接到庫里的聲音。用來控制聲音。輸入以下腳本: music =new Sound();/創(chuàng)建一

49、個名字叫 music的聲音對象。 music.attachSound("mysound");/將這個聲音對象與庫里的標識符為 “mysound”的聲音連接。、現(xiàn)在需要在舞臺上放置兩個按鈕分別控制聲音的播放與停止。、此時,舞臺上將有播放和停止兩個按鈕,選中 Play按鈕,打開動作面板,輸入以下腳本: on (release) music.start(); /播放聲音選中 Stop按鈕,輸入以下腳本: on (release) music.stop(); /停止播放聲音、,一個簡單的控制聲音播放與停止的例子就完成了,快按 Ctrl+回車來測試吧。三、創(chuàng)建一個稍微復雜的例子,用來

50、滑動按鈕來控制聲音的音量。操作步驟:、新建一個 flash文檔,并按 Ctrl+R導入一個聲音文件。、參照上個例子,打開庫,并把導入的聲音文件設置一個鏈界標識符。這里設置標識符為“ mysound”。、選中舞臺時間軸第一楨,打開動作面板,創(chuàng)建一個新的聲音對象,連接庫中聲音,并播放這個聲音。輸入腳本如下: music =new Sound(); music.attachSound("mysound"); music.start(1, 10);/播放聲音,從第一秒開始播放,并循環(huán)次、現(xiàn)在需要一個按鈕做為滑動按鈕,用來控制聲音的音量!按鈕可以自己制作或使用公用庫中的按鈕,此例中我

51、使用公用庫中的按鈕。請在舞臺適當位置放置一個按鈕實例。、選中按鈕,打開動作面板輸入以下腳本: on (press) this.startDrag(false, left, top, right, bottom);/開始拖動這個按鈕,并且要規(guī)定它的拖動范圍,分別由四個變量控制,個變量的初始值稍后設置。 drag = true;/用一個變量來判斷這個按鈕是否被拖動了。如果它被拖動了,變量值為 true(真) on (release, releaseOutside) this.stopDrag();/當松開按鈕或在按鈕外部松開,就停止拖動。并且下面的 drag變量為假,表示按鈕沒有被拖動。 drag

52、 = false; 、再次選中這個按鈕,并按鍵將它轉換成一個影片剪輯!起名為:控制音量。也就是“控制音量”這個影片剪輯里面包含了剛才的按鈕。、選中舞臺上這個控制音量影片剪輯的實例,打開動作面板,現(xiàn)在要設置拖動范圍的個初始值和設置音量大小控制。請輸入以下腳本: onClipEvent(load) /當這個 flash動畫一開始,就設置下面?zhèn)€變量的初始值。為了使按鈕只能上下拖動,所以,拖動范圍的左、右都固定!只能讓按鈕在上下象素以內(nèi)拖動。 top = _y; left= _x; right = _x; bottom= _y+100; onClipEvent(enterFrame) if(drag =true) /如果按鈕被拖動了,就開始執(zhí)行下面的設置音量的算法,用來控制音量。_root.music.setVolume(100-(_y-t

溫馨提示

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

評論

0/150

提交評論