FLASH動(dòng)作腳本詳解_第1頁(yè)
FLASH動(dòng)作腳本詳解_第2頁(yè)
FLASH動(dòng)作腳本詳解_第3頁(yè)
FLASH動(dòng)作腳本詳解_第4頁(yè)
FLASH動(dòng)作腳本詳解_第5頁(yè)
已閱讀5頁(yè),還剩84頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、FLASH動(dòng)作腳本詳解 收藏人:王咸美 2021-12-03 | 閱:  轉(zhuǎn):    |    |  分享    FLASH動(dòng)作腳本詳解一、FLASH腳本根底入門講解二、按鈕AS的編寫(xiě)三、影片剪輯的AS編寫(xiě)四、動(dòng)態(tài)文本框五、影片剪輯的拖拽六、流程控制與循環(huán)語(yǔ)句七、繪圖及顏色的AS的編寫(xiě)八、聲音 AS 的編寫(xiě)與控制九、時(shí)間日期的 AS編寫(xiě)十、點(diǎn)語(yǔ)法以及路徑十一、深入了解時(shí)間控制十二、無(wú)條件轉(zhuǎn)移十三、變量十四、運(yùn)算符一十五、變量二十六、影片剪輯的屬性

2、十七、再講循環(huán)語(yǔ)句十八、影片剪輯處理函數(shù)十九、復(fù)制影片剪輯二十、深入 startDrag()與 stopDrag()二十一、for循環(huán)二十二、while與 do while循環(huán)二十三、循環(huán)語(yǔ)句的嵌套二十四、組件二十五、播放器控制與網(wǎng)頁(yè)連接以及動(dòng)畫(huà)發(fā)布輸出二十六、loadVariables命令二十七、影片剪輯的深度二十八、文本框二十九、超文本標(biāo)簽一、FLASH腳本根底入門講解認(rèn)識(shí)“動(dòng)作面板 在Flash中,動(dòng)作腳本的編寫(xiě),都是在“動(dòng)作面板的編輯環(huán)境中進(jìn)行,熟悉“動(dòng)作面板是十分必要的。按【F9】鍵調(diào)出“動(dòng)作面板,可以看到“動(dòng)作面板的編輯環(huán)境由左右兩局部組成。左側(cè)局部又分為上下兩個(gè)窗口。左側(cè)的上方是

3、一個(gè)“動(dòng)作工具箱,單擊前面的圖標(biāo)展開(kāi)每一個(gè)條目,可以顯示出對(duì)應(yīng)條目下的動(dòng)作腳本語(yǔ)句元素,雙擊選中的語(yǔ)句即可將其添加到編輯窗口。 下方是一個(gè)“腳本導(dǎo)航器。里面列出了FLA文件中具有關(guān)聯(lián)動(dòng)作腳本的幀位置和對(duì)象;單擊腳本導(dǎo)航器中的某一工程,與該工程相關(guān)聯(lián)的腳本那么會(huì)出現(xiàn)在“腳本窗口中,并且場(chǎng)景上的播放頭也將移到時(shí)間軸上的對(duì)應(yīng)位置上。雙擊腳本導(dǎo)航器中的某一項(xiàng),那么該腳本會(huì)被固定。 右側(cè)局部是“腳本編輯窗口,這是添加代碼的區(qū)域??梢灾苯釉凇澳_本窗口中編輯動(dòng)作、輸入動(dòng)作參數(shù)或刪除動(dòng)作。也可以雙擊“動(dòng)作工具箱中的某一項(xiàng)或“腳本編輯窗口上方的【添加腳本】工具 ,向“腳本窗口添加動(dòng)作。在“腳本編輯窗口的上面,有

4、一排工具圖標(biāo),在編輯腳本的時(shí)候,可以方便適時(shí)的使用它們的功能。  在使用“動(dòng)作面板的時(shí)候,可以隨時(shí)點(diǎn)擊“腳本編輯窗口左側(cè)的箭頭按鈕,以隱藏或展開(kāi)左邊的窗口。將左面的窗口隱藏可以使“動(dòng)作面板更加簡(jiǎn)潔,方便腳本的編輯。好了,動(dòng)作面板就介紹這些,有個(gè)印象,不要求記住,工具欄上每個(gè)工具的作用和功能將在以后的課程中邊用邊熟悉。 如何編寫(xiě)flash中的腳本 首先,要知道編寫(xiě)腳本,不需要用戶對(duì)AS有完全的了解!現(xiàn)在要考慮的問(wèn)題是,如何在你的flash中添加編寫(xiě)腳本?簡(jiǎn)單的說(shuō),添加腳本可分為兩種:一是把腳本編寫(xiě)在時(shí)間軸上面的關(guān)鍵楨上面注意,必須是關(guān)鍵楨上才可以添加腳本。二是把腳本

5、編寫(xiě)在對(duì)象身上,比方把腳本直接寫(xiě)在MC影片剪輯元件的實(shí)例上、按鈕上面。此外,大家也需要簡(jiǎn)單理解一下flash是如何執(zhí)行你編寫(xiě)的腳本的。當(dāng)你在時(shí)間周的關(guān)鍵楨上添加了腳本,那么當(dāng)flash運(yùn)行的時(shí)候,它會(huì)首先執(zhí)行這個(gè)關(guān)鍵楨上的腳本,然后才會(huì)顯示這個(gè)關(guān)鍵楨上的對(duì)象。還有一些簡(jiǎn)單的知識(shí),AS中的對(duì)象都包括什么呢?它可以包含數(shù)據(jù),也可以是舞臺(tái)上的電影剪輯,也可以是舞臺(tái)上的按鈕等。既然包含了那么多對(duì)象,那么每種對(duì)象肯定有各自的屬性!比方電影剪輯movieclip對(duì)象,它的:屬性就有_height(高度),_rotation(旋轉(zhuǎn)),等,這些屬性不需要你去特意的記憶,當(dāng)使用的時(shí)候可以隨時(shí)翻閱腳本字典。在以后

6、的教程中會(huì)陸續(xù)給大家介紹一些根底腳本的使用技巧。二、需要學(xué)到的根本AS命令如下:stop()、play()、gotoandplay()、gotoandstop()、nextFrame()、prevFrame();、nextScene()、prevScene();、stopAllSounds(); 按鈕的AS編寫(xiě)規(guī)那么 播放on (release) _root.mc.play();如果要在按鈕身上寫(xiě)腳本的話,必須使用on(事件)/腳本程序的格式來(lái)寫(xiě)!上面的腳本作用就是:當(dāng)你在這個(gè)按鈕上按一下鼠標(biāo)release事件的時(shí)候,就會(huì)執(zhí)行下面的_root.mc.play();程序,它的意思是讓舞

7、臺(tái)上的mc開(kāi)始播放!6、同理:咱們選中舞臺(tái)上的暫停按鈕,在它上面輸入:on (release) _root.mc.stop()然后依次在快退上輸入:on (release) _root.mc.prevFrame(); /prevFrame表示回到動(dòng)畫(huà)的上一楨在快進(jìn)的按鈕上輸入:on (release) _root.mc.nextFrame();在停止的按鈕上輸入:on (release) _root.mc.gotoAndStop(1); /跳到mc影片的第一楨,并停止播放!二、按鈕AS的編寫(xiě)在 flash 中的交互功能一般是由按鈕來(lái)完成的。掌握按鈕的編寫(xiě)規(guī)那么也是一個(gè)閃客的根本技 能。 OK,

8、現(xiàn)在咱們來(lái)說(shuō)說(shuō)按鈕腳本如何編寫(xiě)。上一講中提過(guò),AS 腳本編寫(xiě)可以寫(xiě)在時(shí)間軸的關(guān) 鍵楨上,也可以寫(xiě)在對(duì)象本身上面。按鈕也不例外,既可以寫(xiě)在時(shí)間軸上,也可以寫(xiě)在按鈕 本身上面。只不過(guò)這兩種編寫(xiě)規(guī)那么都要遵循一定的規(guī)矩,這是后話。 現(xiàn)在咱們來(lái)做一個(gè)例子, 做一個(gè)按鈕, 這個(gè)按鈕要實(shí)現(xiàn)的功能就是翻開(kāi)一個(gè)指定的網(wǎng)頁(yè)。 這個(gè)例子非常根底,用這個(gè)例子來(lái)講解按鈕 AS 兩種編寫(xiě)方法。 第一種:把腳本寫(xiě)在按鈕本身。 一、 在舞臺(tái)上繪制一個(gè)矩形,選中矩形并按 F8,將這個(gè)矩形轉(zhuǎn)換成按鈕元件。二、 編寫(xiě)動(dòng)作腳本: 選中按鈕,按 F9,翻開(kāi)動(dòng)作面板,在專家模式下輸入以下腳本: on(release) getURL(&

9、quot; :/3800hk /","_blank") 現(xiàn)在這個(gè)按鈕就實(shí)現(xiàn)了一個(gè)翻開(kāi)網(wǎng)頁(yè)的功能。通過(guò)例子你應(yīng)該注意到,按鈕的 AS 書(shū)寫(xiě)規(guī)那么 就是: on(事件) /要執(zhí)行的腳本程序,剛剛的例子是用 getURL 來(lái)翻開(kāi)一個(gè)網(wǎng)頁(yè)。你也可以使用腳本程序來(lái) 執(zhí)行其他功能,例如跳轉(zhuǎn)到某一個(gè)楨,或載入外部一個(gè)動(dòng)畫(huà)文件。 大可以看到,其實(shí)就一個(gè) on語(yǔ)句,這個(gè) on語(yǔ)句就是按鈕的 AS 編寫(xiě)規(guī)那么了。需要注意 的是 on 里面的事件,這個(gè)事件你可以理解為是鼠標(biāo)或鍵盤的動(dòng)作。剛剛的例子我們使用的 事件是 release按一下鼠標(biāo)我現(xiàn)在把常用的按鈕事件列出來(lái): 事件名字 說(shuō)明

10、 Press 事件發(fā)生于鼠標(biāo)在按鈕上方,并按下鼠標(biāo) Release 發(fā)生在按鈕上方按下鼠標(biāo),接著松開(kāi)鼠標(biāo)時(shí)。也就是“按一下鼠標(biāo) Releaseoutside 發(fā)生于在按鈕上方按下鼠標(biāo),接著把光標(biāo)移動(dòng)到按鈕之外,然后松開(kāi) 鼠標(biāo) Rollover 當(dāng)鼠標(biāo)滑入按鈕時(shí) Rollout 當(dāng)鼠標(biāo)滑出按鈕時(shí) Dragover 發(fā)生于按著鼠標(biāo)不放,光標(biāo)滑入按鈕 Dragout 發(fā)生于按著鼠標(biāo)不放,光標(biāo)滑出按鈕 Keypress 發(fā)生于用戶按下特定的鍵盤按鍵時(shí) 下面來(lái)看看第二種按鈕 AS的編寫(xiě)方法。 這種方法是把腳本程序?qū)懺跁r(shí)間軸上,而不是按鈕本身上面。 一、 選中按鈕,在下面的屬性面板中為按鈕起一個(gè)名字,這里

11、我起了一個(gè) bt 二、 選中時(shí)間軸的第一楨,按 F9 翻開(kāi)動(dòng)作面板。輸入如下腳本: bt.onrelease = function() getURL(" :/ :/3800hk /", "_blank"); ; 這種編寫(xiě) AS 的方法要遵循的規(guī)那么就是下面的公式而已:按鈕實(shí)例的名字.事件名稱=function() /要執(zhí)行的腳本程序。 大家只要記住這個(gè)公式就可以套用了。 按鈕的 AS 就先將到這了,這個(gè)可以算是根本技能了。希望大家都能掌握。三、影片剪輯的AS編寫(xiě)影片剪輯在flash中可以說(shuō)是使用最多的一種元件了,那么對(duì)于它的AS也是不 少。 在講解之前,

12、我還是要重新說(shuō)一下電影剪輯AS 的編寫(xiě)規(guī)那么,和上次講按鈕一樣, 分為兩種,一種是寫(xiě)在電影剪輯本身上,一種是寫(xiě)在時(shí)間軸上面。 一、首先我們先來(lái)做個(gè)簡(jiǎn)單的小例子。 或許你不用 AS 就能做出一個(gè)小球的移動(dòng)動(dòng)畫(huà)。但是如果讓你用 AS 來(lái)實(shí)現(xiàn)小球的移動(dòng)呢? 下面來(lái)看看如何用 AS 來(lái)實(shí)現(xiàn)吧。 在這個(gè)例子里,你首先會(huì)了解到如何在電影剪輯本身上編寫(xiě) AS,以及編寫(xiě)規(guī)那么。1、 新建立一個(gè)影片剪輯元件,里面你就隨便畫(huà)一個(gè)圓吧。之后把這個(gè)影片剪輯拖放到 舞臺(tái)之中也就是創(chuàng)立一個(gè)此影片剪輯的實(shí)例。 2、 現(xiàn)在開(kāi)始編寫(xiě)腳本,選中這個(gè) MC,按 F9 翻開(kāi)動(dòng)作面板,按照?qǐng)D 01 顯示選擇 onClipEvent,之

13、后在顯示的事件中選擇 enterFrame,然后在里面編寫(xiě)腳本如下: this._x+=5 這個(gè)腳本編寫(xiě)之后應(yīng)該是: onClipEvent (enterFrame) / enterFrame的意思四以影片幀頻不斷地觸發(fā)此動(dòng)作 this._x += 5; /this 代表這個(gè)影片剪輯自身。_x 表示影片剪輯的X 軸坐標(biāo)。 呵呵,按下你的 ctrl+回車測(cè)試一下吧,一個(gè)簡(jiǎn)單的移動(dòng)動(dòng)畫(huà)就搞定了。 從這個(gè)例子咱們不難看出,如果把 AS 寫(xiě)在影片剪輯本身上,那么它是有自己的書(shū)寫(xiě)格 式的。正確的書(shū)寫(xiě)格式就是: onClipEvent (事件) /需要執(zhí)行的腳本程序 這個(gè)可以看成是公式,你記住就行了,是寫(xiě)

14、在影片剪輯身上的。括號(hào)里的“事件其實(shí)是 個(gè)觸發(fā)器,當(dāng)事件發(fā)生時(shí),執(zhí)行該事件后面花括號(hào)中的語(yǔ)句。,具體有哪些事件,我把它們 都列出來(lái)。 - load 影片剪輯一旦被實(shí)例化并出現(xiàn)在時(shí)間軸中時(shí),即啟動(dòng)此動(dòng)作。 - unload 在從時(shí)間軸中刪除影片剪輯之后,此動(dòng)作在第一幀中啟動(dòng)。處理與 Unload 影 片剪輯事件關(guān)聯(lián)的動(dòng)作之前,不向受影響的幀附加任何動(dòng)作。 - enterFrame 以影片幀頻不斷地觸發(fā)此動(dòng)作。 - mouseMove 每次移動(dòng)鼠標(biāo)時(shí)啟動(dòng)此動(dòng)作。_xmouse 和 _ymouse 屬性用于確定當(dāng)前鼠 標(biāo)位置。 - mouseDown 當(dāng)按下鼠標(biāo)左鍵時(shí)啟動(dòng)此動(dòng)作。 - mouseUp

15、 當(dāng)釋放鼠標(biāo)左鍵時(shí)啟動(dòng)此動(dòng)作。 - keyDown 當(dāng)按下某個(gè)鍵時(shí)啟動(dòng)此動(dòng)作。使用 Key.getCode 方法獲取最近按下的鍵的 有關(guān)信息。 - keyUp 當(dāng)釋放某個(gè)鍵時(shí)啟動(dòng)此動(dòng)作。 使用 Key.getCode 方法獲取最近按下的鍵的有關(guān) 信息。 - data 當(dāng)在 loadVariables 或 loadMovie 動(dòng)作中接收數(shù)據(jù)時(shí)啟動(dòng)此動(dòng)作。當(dāng)與 loadVariables 動(dòng)作一起指定時(shí),data 事件只發(fā)生一次,即加載最后一個(gè)變量時(shí)。當(dāng)與 loadMovie 動(dòng)作一起指定時(shí),獲取數(shù)據(jù)的每一局部時(shí),data 事件都重復(fù)發(fā)生。 了解了事件之后,你可以自己試著修改一下腳本,如果讓你們點(diǎn)

16、一下鼠標(biāo),舞臺(tái)上的圓 就移動(dòng)一下,該怎么做呢? 關(guān)于把 AS 寫(xiě)在影片剪輯本身的例子先講到這,下面來(lái)看看如果把 AS 寫(xiě)在時(shí)間軸上面的話,應(yīng)該怎么寫(xiě)。 首先你把剛剛的腳本去掉。然后需要為這個(gè)影片剪輯實(shí)例起一個(gè)名字,比方起名為 mc 在選中時(shí)間軸的第一楨,翻開(kāi)動(dòng)作面板,輸入以下腳本: mc.onEnterFrame = function() this._x += 5; /你也可以把這句改為 mc._x+=5 自己想一下為什么。 ; 顯而易見(jiàn),在時(shí)間軸上的寫(xiě)法就應(yīng)該套用以下公式: 實(shí)例名.事件名稱=function() /腳本程序 需要注意的是,這種寫(xiě)法的事件名稱不要忘了在前面加一個(gè) on,比方,

17、事件如果是 enterframe的話,你就應(yīng)該寫(xiě)成 onenterframe 下面簡(jiǎn)單說(shuō)一下影片剪輯的屬性。比方,影片剪輯有自己的X、Y 軸坐標(biāo),有自己的透 明度(_alpha),這些都是它的屬性。 那么如何使用這些屬性呢?你可以使用“點(diǎn)語(yǔ)法來(lái)對(duì)屬性進(jìn)行設(shè)置。 把上面的腳本修改一下。 mc.onenterframe = function() mc._x += 5; mc._alpha = random(100); ; 這里我加了一句 this._alpha = random(100),它是設(shè)置影片剪輯的透明度的,使用的語(yǔ)句 就是_alpha。后面的 random()函數(shù)是隨機(jī)選取一個(gè)100 以

18、內(nèi)的數(shù)字作為它的透明度。從這個(gè) 句子可以看出,“點(diǎn)語(yǔ)法使用方法就是:實(shí)例名.屬性mc._alpha,你甚至可以簡(jiǎn)單理解為 “點(diǎn)就是“的,那么 this._alpha 這句你就可以理解為:影片剪輯 mc的透明度 上面的腳本 mc._alpha = random(100)也可以改為_(kāi)root. mc._alpha = random(100) 那么,你就可以理解為:舞臺(tái)上的影片剪輯 mc的透明度是隨機(jī)選擇內(nèi)的值。四、動(dòng)態(tài)文本框一、flash 中的動(dòng)態(tài)文本使用方法 在 flash中,文本工具提供了三種文本類型。分別是:靜態(tài)文本、動(dòng)態(tài)文本和輸 入文本。 下面講解的內(nèi)容屬于動(dòng)態(tài)文本的 AS 編寫(xiě)規(guī)那么。要

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

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

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

22、字=這 里就是 所需要的資料內(nèi)容。 對(duì)應(yīng)上面的格式,外部 heiying.txt 中的內(nèi)容為: hk=歡送大家來(lái)到愛(ài)國(guó)者平安網(wǎng)學(xué)習(xí)! 。 最后一點(diǎn),需要將這個(gè)文本文件保存為 UTF-8 格式。 4、 完成以上步驟之后,就可以進(jìn)行測(cè)試了。 下面介紹另外一種載入外部文本資料的方法, 并介紹當(dāng)文本內(nèi)容過(guò)多時(shí)候,如 何使用滾 動(dòng)條組件 1創(chuàng)立一個(gè)動(dòng)態(tài)文本實(shí)例,并并為這個(gè)動(dòng)態(tài)文本實(shí)例起一個(gè)實(shí)例名字 anquan 注: 是實(shí)例名而不是變量名起一個(gè)變量名為 hk 2翻開(kāi) flash 的組件面板快捷鍵 ctrl+F7,找到 UIScrollBar滾動(dòng)條組 件。按著 它不動(dòng),然后拖放此組件至剛剛的動(dòng)態(tài)文本實(shí)例的

23、右部邊緣,如果成 功的話,組件會(huì)和文本 框結(jié)合在一起! 3選中舞臺(tái)第一楨,編寫(xiě)如下腳本: tt = new LoadVars();/創(chuàng)立一個(gè) LoadVars 對(duì)象的實(shí)例,這里的實(shí)例名字叫 tt tt.load("heiying.txt");/創(chuàng)立的 tt 實(shí)例需要載入的對(duì)象是 heiying.txt 文本文件。 tt.onLoad = function(s) /開(kāi)始載入外部文件,具體格式請(qǐng)按照此例格式。參數(shù) s 是指示 load 操作是否成功完成。如果完成,那么 S 的值就為 true( 真),反之 為 false(假) if (s) anquan.text = tt.h

24、k; /如果載入成功, 那么 anquan文本框中的內(nèi)容就等于 tt.實(shí)例中的 heiying的內(nèi)容! hk是我們 外部文本文件中的變量。 ;(4) 至于外部的 heiying.txt 還可以使用剛剛所創(chuàng)立的文本文件 ,為了測(cè)試滾動(dòng) 條的效五、影片剪輯的拖拽在網(wǎng)上經(jīng)??吹降?flash影片中有的對(duì)象可以被鼠標(biāo)進(jìn)行拖動(dòng)。例如有的類似七 巧板的拼圖游戲,控制音量的滑桿等,所使用的就是 flash中的拖拽動(dòng)作。 一、拖拽命令詳細(xì)介紹 、 首先介紹一下開(kāi)始拖拽命令的詳細(xì)用法, 稍后在后面的例子中進(jìn)行測(cè)試。 命令格式: StartDrag(要拖動(dòng)的影片剪輯,是否鎖定到鼠標(biāo)位置中央,左, 上,右,下)或?qū)?/p>

25、為要拖動(dòng)的影片剪輯.StartDrag(是否鎖定到鼠標(biāo)位置中央,左,上, 右,下) 命令講解:在制作動(dòng)畫(huà)的過(guò)程中,上面兩種書(shū)寫(xiě)方法可任選一種。其中 內(nèi)的為可選參數(shù),也就是可以寫(xiě),也可以不寫(xiě)。至于左,上,右,下四個(gè)參數(shù)是 用來(lái)控制被拖對(duì)象的移動(dòng)范圍。、停止拖拽命令講解 命令格式: 被拖動(dòng)的影片剪輯實(shí)例名.stopDrag() 這樣就可以停止對(duì)對(duì)象的拖拽動(dòng)作。 二、實(shí)例講解 下面來(lái)用一個(gè)簡(jiǎn)單的例子實(shí)驗(yàn)拖拽命令。 操作步驟: 、新建一個(gè) flash 文檔,并在舞臺(tái)上繪制一個(gè)圓形。選中圓形并按, 將此圓形轉(zhuǎn)換為影片剪輯,起名為:圓 。確定后將會(huì)在舞臺(tái)上創(chuàng)立一個(gè)圓的實(shí) 例。 、選中此實(shí)例,并按翻開(kāi)動(dòng)作面

26、板。輸入如下腳本: on (press) this.startDrag(true);/當(dāng)鼠標(biāo)按下press之后,這個(gè)實(shí)例因?yàn)槲覀儼涯_本寫(xiě) 在實(shí)例本身了,所以這里用 this 代替影片剪輯實(shí)例的名字可以被拖拽,使用 命令如上面的命令解釋。對(duì)于參數(shù)的選擇方面,這里只填寫(xiě)了鎖定到鼠標(biāo)位置 中央,如果想選不鎖定到鼠標(biāo)位置中央,可以把true改為 false。有興趣的朋友 可以更改為 false看看。 on (release) this.stopDrag();/同樣道理,當(dāng)鼠標(biāo)釋放release之后,將停止拖拽動(dòng)作。 、好了,現(xiàn)在讓我們按 Ctrl+回車來(lái)測(cè)試一下吧,你將會(huì)看到舞臺(tái)上的圓 被你的鼠標(biāo)拖動(dòng)

27、的效果。 、,通過(guò)這個(gè)例子我們可以簡(jiǎn)單的應(yīng)用拖拽動(dòng)作了?,F(xiàn)在需要把這個(gè) 例子繼續(xù)完成,還記得上面命令講解中的左,上,右,下四個(gè)控制拖動(dòng)范圍的參 數(shù)嗎?現(xiàn)在來(lái)制作具有約束拖動(dòng)范圍的效果。 、現(xiàn)在在舞臺(tái)上繪制一個(gè)*大小的矩形,注意只要邊框不要填 充。 、如果我們希望在拖動(dòng)的時(shí)候這個(gè)圓只能在矩形內(nèi)拖動(dòng)的話,就要先設(shè)置 這個(gè)矩形的坐標(biāo),并記下矩形四個(gè)頂點(diǎn)的坐標(biāo)這點(diǎn)很重要!。,比方,現(xiàn) 在此例子中的矩形的四個(gè)頂點(diǎn)分別如上圖所示。那我們要取的四個(gè)參數(shù)就應(yīng)該 是:左,上,右,下 現(xiàn)在翻開(kāi)動(dòng)作面板,修 改剛剛的腳本如下:on (press) this.startDrag(true, 50, 100, 250,

28、 200);/這里我們就使用剛剛確定好的個(gè)參數(shù)。 個(gè)點(diǎn)的參數(shù)就對(duì)拖動(dòng)對(duì)象實(shí)現(xiàn)了一個(gè)矩形區(qū)域的移動(dòng)約束! on (release) this.stopDrag(); 、好了,按Ctrl+回車去測(cè)試吧! 好了,關(guān)于拖拽的講解先到這里,下面我們來(lái)學(xué)習(xí)如何結(jié)合著拖拽動(dòng)作來(lái)檢 測(cè)對(duì)象之間的碰撞! 三、碰撞命令的講解 命令格式: 目標(biāo)影片剪輯的實(shí)例.hihkest(被拖拽的實(shí)例) 這個(gè)是比擬 簡(jiǎn)單的檢測(cè)碰撞命令 目標(biāo)影片剪輯的實(shí)例.hihkest(被拖拽實(shí)例的軸坐標(biāo),被拖 拽實(shí)例的軸坐標(biāo),對(duì)象的矩形區(qū)域范圍還是對(duì)象本身范圍) 這個(gè)是比擬復(fù) 雜點(diǎn)的檢測(cè)碰撞命令 命令解釋: 以上兩個(gè)命令都是用來(lái)檢測(cè)碰撞的,可

29、以根據(jù)需要選擇不同的 命令。重點(diǎn)解釋一下對(duì)象的矩形區(qū)域范圍和對(duì)象本身范圍上面的命令中,false 表示對(duì)象的矩形區(qū)域范圍,true表示對(duì)象本身的范圍 四、碰撞命令與拖拽命令的結(jié)合使用 一、下面通過(guò)簡(jiǎn)單的例子來(lái)學(xué)習(xí)碰撞命令我們先來(lái)學(xué)習(xí)如何檢測(cè)是否 碰到對(duì)象的矩形區(qū)域范圍 、新建一個(gè) flash 文檔,在舞臺(tái)上繪制一個(gè)圓形。選中圓形并按將它 轉(zhuǎn)換為影片剪輯,起名:圓 。這樣就在舞臺(tái)上創(chuàng)立了一個(gè)圓的實(shí)例。 、選中此實(shí)例,為它起一個(gè)名字,此例起名為:yuan 、選擇文字工具,并選擇文字類型為“動(dòng)態(tài)文本,在圓的實(shí)例下面拖繪出一個(gè) 動(dòng)態(tài)文本框。并起一個(gè)變量名為:hk 、選中時(shí)間軸的第一楨,按翻開(kāi)動(dòng)作面板,

30、輸入以下腳本: _root.onEnterFrame = function() /這個(gè)是在時(shí)間軸上的編寫(xiě)規(guī)那么,解釋為舞臺(tái)上每楨都執(zhí)行下面的腳本 onEnterFrame。 if (_root.yuan.hitTest(_root._xmouse, _root._ymouse, false) /根據(jù)上面命令的講解,這個(gè)語(yǔ)句就是檢測(cè)碰撞了。如果鼠標(biāo)碰到舞臺(tái)上 yuan這個(gè)實(shí)例的矩形區(qū)域范圍的話,就執(zhí)行下面的腳本。 hk = "接觸矩形區(qū)域范圍" /動(dòng)態(tài)文本框就顯示出“接觸矩形區(qū)域范圍 else hk = "沒(méi)有接觸到矩形區(qū)域范圍" /如果鼠標(biāo)沒(méi)有碰到舞臺(tái)上

31、 yuan 這個(gè)實(shí)例的矩形區(qū)域范圍的話,就顯示 沒(méi)有接觸到矩形區(qū)域范圍。 ; 現(xiàn)在可以按Ctrl+回車去測(cè)試我們的成果 二、拖拽碰撞檢測(cè) 現(xiàn)在再來(lái)一個(gè)例子講解拖拽碰撞檢測(cè), 想偷懶的話可以通過(guò)修改上面例子的 代碼來(lái)學(xué)習(xí)。 、現(xiàn)在稍微修改一下上面的例子,以便讓我們學(xué)習(xí)拖拽碰撞檢測(cè),在上面 例子的舞臺(tái)上繪制一個(gè)矩形,并把這個(gè)矩形轉(zhuǎn)換成電影剪輯,起名為:矩形 。 這樣就在舞臺(tái)上又創(chuàng)立了一個(gè)矩形的實(shí)例,現(xiàn)在為這個(gè)矩形實(shí)例起一個(gè)名為: juxing 。 、選中這個(gè)矩形實(shí)例,翻開(kāi)動(dòng)作面板,輸入可以拖拽這個(gè)實(shí)例的腳本。如下: on (press) this.startDrag(true); on (rele

32、ase) this.stopDrag(); 這個(gè)腳本就是為了能拖動(dòng)這個(gè)矩形實(shí)例。 具體解釋請(qǐng)回憶第一個(gè)拖動(dòng)對(duì)象例 子的腳本說(shuō)明。 、現(xiàn)在來(lái)修改腳本,選中時(shí)間軸的第一楨,按翻開(kāi)動(dòng)作面板,你將會(huì) 看到上個(gè)例子的碰撞檢測(cè)腳本,把它修改為如下腳本: _root.onEnterFrame = function() if (_root.yuan.hitTest(_root.juxing) hk = "碰到了" else hk = "沒(méi)有碰到" 這個(gè)腳本和上次的碰撞檢測(cè)腳本類似,只不過(guò)不需要再書(shū)寫(xiě)軸和軸,也 不用寫(xiě)是否碰到矩形區(qū)域范圍。簡(jiǎn)單吧 現(xiàn)在又到了測(cè)試階段了,去

33、觀看你的成果六、流程控制與循環(huán)語(yǔ)句眾所周知,flash中動(dòng)畫(huà)依靠的是時(shí)間軸,在沒(méi)有腳本的情況下,動(dòng)畫(huà)會(huì)依照時(shí) 間軸從第一幀不停的播放到最后一幀,然后始重復(fù)播放或者干脆停止。為了能更 好的控制動(dòng)畫(huà),就必須使用腳本語(yǔ)句。而要想使動(dòng)畫(huà)具有邏輯判斷的功能,就要 使用流程控制和循環(huán)控制語(yǔ)句了! 下面通過(guò)幾個(gè)簡(jiǎn)單的小例子來(lái)學(xué)習(xí)流程與循環(huán) 控制語(yǔ)句。 一、流程控制語(yǔ)句 所謂流程控制,無(wú)非就是我們想控制動(dòng)畫(huà)程序的執(zhí)行順序而已。我們可以讓 flash根據(jù)一些特定的條件,來(lái)決定要執(zhí)行哪個(gè)程序。這樣就好象給了程序一些 判斷的機(jī)制。 if.else控制語(yǔ)句 根據(jù)英文的意思,大家可以簡(jiǎn)單的理解上面的控制語(yǔ)句:如果.就.

34、否 那么.就. 下面來(lái)看看這個(gè)流程控制語(yǔ)句的書(shū)寫(xiě)格式。if(條件) /條件成立的話,就執(zhí)行這里的程序。 else /條件不成立的話就執(zhí)行這里的程序。 下面重點(diǎn)說(shuō)一下 if 后面括號(hào)內(nèi)的條件。這個(gè)條件可以是一個(gè)固定的值,也 可以是一個(gè)變量或表達(dá)式。如果條件成立的話,也就是條件為真true,就會(huì) 執(zhí)行 if 后面的程序,如果條件不成立,也就是條件為假false,就會(huì)執(zhí)行 else里的程序。例如:有這么一個(gè)條件,A>B 將這個(gè)表達(dá)式代入if后面的括號(hào) 內(nèi), 這個(gè)流程語(yǔ)句的意思就變成: 如果A>B的話, 就執(zhí)行第一個(gè)大括號(hào)內(nèi)的程序, 如果不大于,就將執(zhí)行else后面大括號(hào)內(nèi)的程序。 實(shí)例講

35、解: 、新建一個(gè)flash文檔,在舞臺(tái)上繪制一個(gè)圓,選中圓并按轉(zhuǎn)換成影 片剪輯,起名為:圓 這樣就在舞臺(tái)上創(chuàng)立一個(gè)圓的實(shí)例。 、選中舞臺(tái)上的實(shí)例,按翻開(kāi)動(dòng)作面板,輸入如下腳本: onClipEvent (enterFrame) if (this._x<400) /流程條件控制語(yǔ)句,如果這個(gè)圓的實(shí)例的軸坐標(biāo)小于,就執(zhí)行后 面的程序。 this._x += 5;/讓這個(gè)圓的坐標(biāo)向右移動(dòng)個(gè)象素 else this._x = 0;/控制語(yǔ)句,如果剛剛的條件不成立。也就是圓實(shí)例的坐標(biāo)不小于,就 讓它的坐標(biāo)為 上面的腳本是一個(gè)非常簡(jiǎn)單的流程控制語(yǔ)句,根據(jù)實(shí)例的坐標(biāo)來(lái)進(jìn)行判斷。因?yàn)槲覀?使用了 ent

36、erFrame事件,所以 flash會(huì)不停的執(zhí)行下面 if.else語(yǔ)句。 、測(cè)試影片。會(huì)看到圓不停的向右移動(dòng),當(dāng)它的坐標(biāo)大于或等于的時(shí)候,程 序會(huì)把它的坐標(biāo)重新更改為。 二、循環(huán)控制語(yǔ)句 所謂的循環(huán)語(yǔ)句,其實(shí)也是用條件來(lái)控制的,只要條件成立,那么,程序就會(huì)不停的執(zhí) 行下去,一直執(zhí)行到條件不成立為止! 常用的循環(huán)語(yǔ)句包括 while 循環(huán)、for 循環(huán)等。因 為篇幅有限,下面只重點(diǎn)講解 for 循環(huán)的使用方法。 For 循環(huán)命令格式: for(初始變量;條件語(yǔ)句;迭加命令語(yǔ)句) /用戶自己編寫(xiě)的腳本。 首先強(qiáng)調(diào)一點(diǎn),for 語(yǔ)句的括號(hào)內(nèi)有三個(gè)工程,必須要用分號(hào)間隔開(kāi)! 初始變量:循環(huán)語(yǔ)句也是用

37、條件是否成立來(lái)控制的,通常我們用一個(gè)變量來(lái)控制程序執(zhí) 行的次數(shù)。那么,這個(gè)初始變量就要先定義一個(gè)值。要注意的是,初始變量這個(gè)工程只執(zhí)行 一次! 條件語(yǔ)句:這個(gè)工程就是我們的判斷語(yǔ)句了。如果這個(gè)工程判斷為真true,也就是 條件成立了。它就直接跳進(jìn)大括號(hào)內(nèi)執(zhí)行里面的程序!反之,如果條件為假false, 它就直接跳出這個(gè) for 語(yǔ)句了。 迭加命令語(yǔ)句:接上面的條件語(yǔ)句,如果條件語(yǔ)句成立,會(huì)執(zhí)行內(nèi)的程序,那么執(zhí) 行完程序之后,就要回來(lái)執(zhí)行迭加命令語(yǔ)句了。通常它就用來(lái)增加或減少剛開(kāi)始時(shí)的初始變 量的值。 實(shí)例講解: 、新建一個(gè) flash 文檔,在舞臺(tái)上繪制一個(gè)圓,選中圓并按轉(zhuǎn)換成影片剪輯,起 名為

38、:圓 這樣就在舞臺(tái)上創(chuàng)立一個(gè)圓的實(shí)例。 、為這個(gè)實(shí)例起名為:yuan 、添加一個(gè)新的層,并選中新層的第一幀,按翻開(kāi)動(dòng)作面板,輸入如下腳本: for (i=1; i<5; i+) duplicateMovieClip("yuan", "yuan"+i, i); _root"yuan"+i._x = random(400); _root"yuan"+i._y = random(300); _root"yuan"+i._alpha = random(100); 如果大家實(shí)在覺(jué)得 for 語(yǔ)言很難

39、讀懂的話,你可以按照 for 語(yǔ)言執(zhí)行的順序把 i=1 代入程序 走一遍,可以幫助你理解程序。例如:當(dāng) i 等于的時(shí)候,程序開(kāi)始判斷它是否小于,那 么肯定小于了,條件為真,就執(zhí)行內(nèi)的復(fù)制程序,同時(shí)復(fù)制出來(lái)的新實(shí)例的名字就 變成了 yuan1 ,接著就是設(shè)置 yuan1 的坐標(biāo)和透明度。之后,for 語(yǔ)句開(kāi)始回去執(zhí)行 i+, 此時(shí),i 的值就變?yōu)榱?。然后又開(kāi)始循環(huán)判斷執(zhí)行下去.你可以算一下,這個(gè) for 循環(huán) 總共循環(huán)了幾次呢?答案是次。 、選中時(shí)間軸的第幀,按插入一關(guān)鍵幀,翻開(kāi)動(dòng)作面板輸入以下腳本: gotoAndPlay(1); 讓 flash播放到第幀的時(shí)候返回第幀再來(lái)執(zhí)行 for 循環(huán)語(yǔ)

40、句。 、測(cè)試效果吧,你會(huì)看到舞臺(tái)上會(huì)循環(huán)次復(fù)制出個(gè)圓。 希望大家能通過(guò)這兩個(gè)簡(jiǎn)單的例子掌握流程控制語(yǔ)句和循環(huán)控制語(yǔ)句七、繪圖及顏色的AS的編寫(xiě)在使用 flash 的過(guò)程中,難免會(huì)進(jìn)行繪圖的操作。除了用工具面板上的工具繪制圖形之外, 我們也可以使用 ActionScript 來(lái)繪制圖形。 如何繪制線段及命令解釋 lineStyle(粗細(xì),顏色,透明度) /設(shè)置繪制圖形的線條粗細(xì)、顏色和透明度 Moveto(坐標(biāo),坐標(biāo)) /設(shè)置繪圖線條的起點(diǎn)坐標(biāo) lineto(坐標(biāo),坐標(biāo)) /設(shè)置線條的結(jié)束坐標(biāo) 現(xiàn)在就用剛剛的三個(gè)命令在舞臺(tái)上繪制出來(lái)一個(gè)*大小的矩形。 步驟: 、新建立一個(gè) flash文檔。 、既

41、然要繪制一個(gè)*大小的矩形, 我們就要先確定矩形個(gè)頂點(diǎn)的坐標(biāo),然后就可以使用 lineto命令進(jìn)行編寫(xiě)了。 、選中時(shí)間軸的第一楨,翻開(kāi)動(dòng)作面板?,F(xiàn)在已經(jīng)確定了矩形的個(gè)頂點(diǎn),那么我 們就可以來(lái)編寫(xiě)腳本命令了,請(qǐng)輸入以下腳本: _root.lineStyle(1, 0x000000, 100);/設(shè)置線條的粗細(xì),顏色和透明度 _root.moveTo(50, 50);/設(shè)置開(kāi)始點(diǎn)的坐標(biāo)。 _root.lineTo(350, 50); _root.lineTo(350, 150); _root.lineTo(50, 150); _root.lineTo(50, 50); /設(shè)置結(jié)束點(diǎn)坐標(biāo),整個(gè)矩形繪制

42、完畢 相信大家通過(guò)上面的命令就很容易的用繪制出所需要的形狀,充分發(fā)揮你的想象 力,可以通過(guò) lineto命令來(lái)設(shè)置多個(gè)點(diǎn),從而創(chuàng)造出各種各樣的形狀。 熟悉了繪制線條的命令之后我們來(lái)用一個(gè)例子加深印象。 操作步驟: 、新建立一個(gè) flash 文檔,在舞臺(tái)上繪制一個(gè)圓,選中它并按轉(zhuǎn)換成影片剪輯, 起名為:圓 。 、翻開(kāi)庫(kù)面板,請(qǐng)將影片剪輯“圓在舞臺(tái)上再拖放一個(gè)實(shí)例,使舞臺(tái)上存在兩個(gè)圓的 實(shí)例。 、現(xiàn)在為舞臺(tái)上兩個(gè)實(shí)例分別起名字為 a和 b 、選中時(shí)間軸第一楨,翻開(kāi)動(dòng)作面板,輸入以下腳本: function draw() /自己定義一個(gè)函數(shù),這個(gè)函數(shù)起名為 draw可自定,函數(shù)的功能是要實(shí) 現(xiàn)以 a

43、 實(shí)例的坐標(biāo)為起點(diǎn),向 b 實(shí)例繪制線條。 _root.hkear();/去除舞臺(tái)上繪制的線條。 _root.lineStyle(1, 0x000000, 90);/設(shè)置線條的粗細(xì),顏色和透明度。 _root.moveTo(a._x, a._y);/以 a實(shí)例的坐標(biāo)為起點(diǎn)開(kāi)始繪制線條。 _root.lineTo(b._x, b._y);/以 b 實(shí)例的坐標(biāo)為繪制線條的結(jié)束點(diǎn)。 draw();/執(zhí)行函數(shù) draw,它將會(huì)在a 與 b 之間繪制出一條黑色的線條。 解釋:為了減輕編寫(xiě)的工作量和程序的重復(fù)率,可以將某些功能定義為一個(gè)函數(shù), 例如上面的 draw(),在使用的時(shí)候,直接執(zhí)行定義過(guò)的函數(shù),

44、就可以完成函數(shù)的功能。 、現(xiàn)在創(chuàng)立拖動(dòng)效果,選中舞臺(tái)上的 b 實(shí)例,翻開(kāi)動(dòng)作面板,輸入以下腳本: on (press) /點(diǎn)擊此實(shí)例,開(kāi)始拖動(dòng) this.startDrag(true); on (release) /釋放鼠標(biāo),停止拖動(dòng) this.stopDrag(); onClipEvent (mouseMove) /當(dāng)鼠標(biāo)移動(dòng),也就是這個(gè) b 實(shí)例移動(dòng)的時(shí)候,就執(zhí)行里面的程 序。 _root.draw();/執(zhí)行舞臺(tái)上定義過(guò)的 draw()函數(shù),開(kāi)始在 a 與 b之間繪制線條。 updateAfterEvent();/強(qiáng)制更新畫(huà)面,是整個(gè)動(dòng)畫(huà)更加流暢。 按 Ctrl+回車測(cè)試動(dòng)畫(huà)效果。 二、

45、顏色命令講解 setRGB() 用來(lái)設(shè)置實(shí)例的顏色值,注意,這個(gè)值用進(jìn)制表示,例如 0x000000 黑色 getRBG() 獲取實(shí)例的顏色值 下面用一個(gè)相對(duì)簡(jiǎn)單的例子來(lái)說(shuō)明顏色命令的使用以及如何填充顏色 要想使用顏色命令,我們必須先構(gòu)建一個(gè) Color 對(duì)象。方法就是 自定義名字 = new Color("要改變顏色的對(duì)象"),構(gòu)建完 color 對(duì)象之后,我們就能使用 setRGB 或 getRGB 來(lái)設(shè) 置或獲取顏色了。 步驟: 、新建立一 flash文檔,背景大小為* 、選中時(shí)間軸第一楨,翻開(kāi)動(dòng)作面板,我們現(xiàn)在要用來(lái)幫助我們創(chuàng)立一個(gè)影片剪 輯的實(shí)例。所用到的命令為:

46、 createEmptyMovieClip("實(shí)例名稱",深度)。創(chuàng)立一個(gè)影片剪輯實(shí)例,并起名為 hk。輸入下面 腳本。 _root.createEmptyMovieClip("hk", 1); /使用創(chuàng)立命令在舞臺(tái)上創(chuàng)立一個(gè)名字叫 hk的影片剪輯實(shí)例,深度為 1 接下來(lái)我們要對(duì)這個(gè) hk 實(shí)例進(jìn)行繪制圖形和填充圖形!現(xiàn)在我們用繪制一個(gè) *大小的矩形,并且把這個(gè)矩形填充為黑色,腳本如下: with (hk) /使用 with命令設(shè)置 hk的各個(gè)屬性 beginFill(0x000000, 85); /開(kāi)始填充這個(gè) hk實(shí)例,顏色為黑色,透明度為 85 l

47、ineStyle(1, 0x999999, 100); /設(shè)置這個(gè)實(shí)例的邊框粗細(xì)為 1,顏色為灰色,透明度為 100moveTo(50, 50); /設(shè)置繪制線條的起點(diǎn)坐標(biāo) lineTo(350, 50); lineTo(350, 150); lineTo(50, 150); lineTo(50, 50); /結(jié)束繪制,將在舞臺(tái)上繪制出一個(gè) 300*100 大小的矩形。 endFill(); /結(jié)束填充,與 beginFill()命令對(duì)應(yīng)。 OK,現(xiàn)在我們就已經(jīng)創(chuàng)立了一個(gè)黑色的矩形?,F(xiàn)在我們要繼續(xù)實(shí)現(xiàn)變色的功能,也就 是當(dāng)鼠標(biāo)移動(dòng)的時(shí)候,這個(gè)矩形會(huì)隨機(jī)變換顏色!就需要用到我們的構(gòu)建 Color

48、 對(duì)象的命令 了。腳本如下: _root.onMouseMove = function() /當(dāng)鼠標(biāo)移動(dòng)的時(shí)候就執(zhí)行下面的腳本命令。 hk_color = new Color("hk");/構(gòu)建一個(gè)名字叫 hk_color 的 Color 對(duì)象。 yanse = "0x"+random(100)+random(100)+random(100);/用一個(gè)變量 yanse來(lái)獲取一個(gè)數(shù)值, 這個(gè)數(shù)值就是顏色值 hk_color.setRGB(yanse);/設(shè)置矩形的顏色。 ; 好了,這個(gè)例子是完全由腳本編寫(xiě)而成,所有腳本都在時(shí)間軸的第一楨 、按 Ctrl+回

49、車來(lái)測(cè)試你的影片吧會(huì)看到矩形會(huì)隨著鼠標(biāo)的移動(dòng)而不斷進(jìn)行顏色變化。八、聲音 AS 的編寫(xiě)與控制一個(gè)好的 flash作品,缺少了聲音,就如同人不會(huì)講話一樣。而 flash 中對(duì)聲音的支持也非常不錯(cuò),除了可以使用時(shí)間軸放置聲音文件之 外,我們還可以使用來(lái)更加準(zhǔn)確的控制聲音! 一、FLASH 中如何創(chuàng)立聲音控件 如果想控制動(dòng)畫(huà)中的聲音,我們可以使用 flash中的 sound 對(duì)象,通過(guò) sound 命令創(chuàng)立一個(gè)新的 sound 對(duì)象。之后再用 attachSound 命 令連接到庫(kù)里的聲音,就可以用來(lái)控制動(dòng)畫(huà)中的聲音了。 常用命令講解: new Sound() 此命令用來(lái)創(chuàng)立一個(gè)新的 sound 對(duì)

50、象,有了 sound 對(duì)象我們才能用來(lái)控制聲音。 attachSound("庫(kù)中的聲音") 此命令可以使我們創(chuàng)立的聲 音對(duì)象連接到庫(kù)里的聲音,以便進(jìn)行控制。 start(從第幾秒開(kāi)始播放, 循環(huán)次數(shù)) 此命令可以是 聲音開(kāi)始播放,里面的兩個(gè)參數(shù)是可選的。 stop() 停止聲音的播放。 setVolume(音量級(jí)別) 此命令可以控制聲音的音量上下, 音量級(jí)別只能是從之間的數(shù)字。 現(xiàn)在我們也應(yīng)該用先做一個(gè)簡(jiǎn)單的小例子了。 二、創(chuàng)立一個(gè)簡(jiǎn)單的聲音播放動(dòng)畫(huà),可以實(shí)現(xiàn)簡(jiǎn)單的開(kāi)始與停止 播放聲音。 操作步驟: 、新建一個(gè) flash文檔,按 Ctrl+R文件導(dǎo)入導(dǎo)入一個(gè)聲音 文件,聲

51、音文件可以是 MP3 或 WAV 格式的。聲音文件導(dǎo)入之后,在舞臺(tái)上是看不見(jiàn)的,必須翻開(kāi)庫(kù)才能看到我們導(dǎo)入的聲音。 、 選中庫(kù)中的聲音文件, 單擊鼠標(biāo)右鍵, 在彈出的菜單中選擇“鏈 接.將會(huì)彈出一個(gè)鏈接的對(duì)話框,請(qǐng)勾選“為動(dòng)作腳本導(dǎo)出和“在第 一幀導(dǎo)出選項(xiàng),并輸入一個(gè)標(biāo)識(shí)符:mysound 名字可任意寫(xiě), 單擊確定。 、回到主舞臺(tái),選中時(shí)間軸的第一楨,按翻開(kāi)動(dòng)作面板?,F(xiàn) 在我們要?jiǎng)?chuàng)立一個(gè)新的聲音對(duì)象,并且連接到庫(kù)里的聲音。用來(lái)控制 聲音。輸入以下腳本: music = new Sound();/創(chuàng)立一個(gè)名字叫 music 的聲音對(duì)象。 music.attachSound("mysou

52、nd");/將這個(gè)聲音對(duì)象與庫(kù)里的標(biāo)識(shí)符為 “mysound的聲音連接。 、現(xiàn)在需要在舞臺(tái)上放置兩個(gè)按鈕分別控制聲音的播放與停止。 、此時(shí),舞臺(tái)上將有播放和停止兩個(gè)按鈕,選中 Play按鈕,翻開(kāi) 動(dòng)作面板,輸入以下腳本: on (release) music.start(); /播放聲音選中 Stop 按鈕,輸入以下腳本: on (release) music.stop(); /停止播放聲音 、,一個(gè)簡(jiǎn)單的控制聲音播放與停止的例子就完成了,快 按 Ctrl+回車來(lái)測(cè)試吧。 三、創(chuàng)立一個(gè)稍微復(fù)雜的例子,用來(lái)滑動(dòng)按鈕來(lái)控制聲音的音量。 操作步驟: 、新建一個(gè) flash文檔,并按 Ctr

53、l+R 導(dǎo)入一個(gè)聲音文件。 、參照上個(gè)例子,翻開(kāi)庫(kù),并把導(dǎo)入的聲音文件設(shè)置一個(gè)鏈界 標(biāo)識(shí)符。這里設(shè)置標(biāo)識(shí)符為“mysound。 、選中舞臺(tái)時(shí)間軸第一楨,翻開(kāi)動(dòng)作面板,創(chuàng)立一個(gè)新的聲音 對(duì)象,連接庫(kù)中聲音,并播放這個(gè)聲音。輸入腳本如下: music = new Sound();music.attachSound("mysound"); music.start(1, 10);/播放聲音,從第一秒開(kāi)始播放,并循環(huán)次 、現(xiàn)在需要一個(gè)按鈕做為滑動(dòng)按鈕,用來(lái)控制聲音的音量!按 鈕可以自己制作或使用公用庫(kù)中的按鈕, 此例中我使用公用庫(kù)中的按 鈕。請(qǐng)?jiān)谖枧_(tái)適當(dāng)位置放置一個(gè)按鈕實(shí)例。 、選中

54、按鈕,翻開(kāi)動(dòng)作面板輸入以下腳本: on (press) this.startDrag(false, left, top, right, bottom);/開(kāi)始拖動(dòng)這個(gè)按鈕, 并且要 規(guī)定它的拖動(dòng)范圍,分別由四個(gè)變量控制,個(gè)變量的初始值稍后設(shè) 置。 drag = true;/用一個(gè)變量來(lái)判斷這個(gè)按鈕是否被拖動(dòng)了。如果它被拖 動(dòng)了,變量值為 true真 on (release, releaseOutside) this.stopDrag();/當(dāng)松開(kāi)按鈕或在按鈕外部松開(kāi),就停止拖動(dòng)。并且下 面的 drag 變量為假,表示按鈕沒(méi)有被拖動(dòng)。 drag = false; 、再次選中這個(gè)按鈕,并按鍵將它轉(zhuǎn)換成一個(gè)影片剪輯!起 名為:控制音量。也就是“控制音量這個(gè)影片剪輯里面包含了剛剛的 按鈕。 、選中舞臺(tái)上這個(gè)控制音量影片剪輯的實(shí)例,翻開(kāi)動(dòng)作面板, 現(xiàn)在要設(shè)置拖動(dòng)范圍的個(gè)初始值和設(shè)置音量大小控制。 請(qǐng)輸入以下 腳本: onClipEvent (load) /當(dāng)這個(gè) flash 動(dòng)畫(huà)一開(kāi)始,就設(shè)置下面?zhèn)€變量 的初始值。為了使按鈕只能上下拖動(dòng),所以,拖動(dòng)范圍的左、右都固 定!只能讓按鈕在上下象素以內(nèi)拖動(dòng)。 top = _y; left = _x; right

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論