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

文檔簡(jiǎn)介

1、FLASH動(dòng)作腳本詳解 收藏人:王咸美 2013-12-03 | 閱:  轉(zhuǎn):    |    |  分享    FLASH動(dòng)作腳本詳解一、FLASH腳本基礎(chǔ)入門(mén)講解二、按鈕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腳本基礎(chǔ)入門(mén)講解認(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è)

3、窗口。左側(cè)的上方是一個(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)航器中的某一項(xiàng)目,與該項(xiàng)目相關(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ě)腳本,不需要用戶(hù)對(duì)AS有完全的了解!現(xiàn)在要考慮的問(wèn)題是,如何在你的flash中添加編寫(xiě)腳本?簡(jiǎn)單的說(shuō),添加腳本可分為兩種:一是把腳本編寫(xiě)在時(shí)間軸上面的關(guān)鍵楨上面(注意,

5、必須是關(guān)鍵楨上才可以添加腳本)。二是把腳本編寫(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)),等,這些屬性不需要你去特

6、意的記憶,當(dāng)使用的時(shí)候可以隨時(shí)翻閱腳本字典。在以后的教程中會(huì)陸續(xù)給大家介紹一些基礎(chǔ)腳本的使用技巧。二、需要學(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í)行下面的

7、_root.mc.play();程序,它的意思是讓舞臺(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)完成的。掌

8、握按鈕的編寫(xiě)規(guī)則也是一個(gè)閃客的基本技 能。 OK,現(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è)例子非?;A(chǔ),用這個(gè)例子來(lái)講解按鈕 AS 兩種編寫(xiě)方法。) 第一種:把腳本寫(xiě)在按鈕本身。 一、 在舞臺(tái)上繪制一個(gè)矩形,選中矩形并按 F8,將這個(gè)矩形轉(zhuǎn)換成按鈕元件。二、 編寫(xiě)動(dòng)作腳本: 選中按鈕,按 F9,打開(kāi)動(dòng)作面板,在專(zhuān)家模式下輸入

9、以下腳本: on(release) getURL(" 現(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)或鍵盤(pán)的動(dòng)作。剛才的例子我們使用的 事件是 release(按一下鼠標(biāo))我現(xiàn)在把常用的按鈕事件列出來(lái): 事件名字 說(shuō)明 Press 事件發(fā)生

10、于鼠標(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ā)生于用戶(hù)按下特定的鍵盤(pán)按鍵時(shí) 下面來(lái)看看第二種按鈕 AS的編寫(xiě)方法。 這種方法是把腳本程序?qū)懺跁r(shí)間軸上,而不是按鈕本身上面。 一、 選中按鈕,在下面的屬性面板中為按鈕起一個(gè)名字,這里我起了一個(gè) bt 二

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

12、按鈕一樣, 分為兩種,一種是寫(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,之后在顯示的事件中選擇 enterFrame,然后在里

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

14、當(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 當(dāng)釋放鼠標(biāo)左鍵時(shí)啟動(dòng)此動(dòng)作。 - keyDown

15、 當(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)一下鼠標(biāo),舞臺(tái)上的圓 就移動(dòng)一下,該怎么做呢? 關(guān)

16、于把 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í)例名.事件名稱(chēng)=function() /腳本程序 需要注意的是,這種寫(xiě)法的事件名稱(chēng)不要忘了在前面加一個(gè) on,比如,事件如果是 enterframe的話,你就應(yīng)該寫(xiě)成

17、 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 以?xún)?nèi)的數(shù)字作為它的透明度。從這個(gè) 句子可以看出,“

18、點(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中,文本工具提供了三種文本類(lèi)型。分別是:靜態(tài)文本、動(dòng)態(tài)文本和輸 入文本。 下面講解的內(nèi)容屬于動(dòng)態(tài)文本的 AS 編寫(xiě)規(guī)則。要?jiǎng)?chuàng)建一個(gè)動(dòng)態(tài)文本非常簡(jiǎn)單, 只需要 選中

19、文本工具,然后選擇動(dòng)態(tài)文本類(lè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+回車(chē)就可進(jìn)行測(cè)試了。從這個(gè)簡(jiǎn)單的例子可以知道,如果要用文本實(shí) 例名字 來(lái)進(jìn)行

20、賦值的話,必須使用以下格式:動(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í)候,需要使用行用回車(chē)符( “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)

23、態(tài)文本實(shí)例的右部邊緣,如果成 功的話,組件會(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.tex

24、t = tt.hk; /如果載入成功, 則 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)。例如有的類(lèi)似七 巧板的拼圖游戲,控制音量的滑桿等,所使用的就是 flash中的拖拽動(dòng)作。 一、拖拽命令詳細(xì)介紹 、 首先介紹一下開(kāi)始拖拽命令的詳細(xì)用法, 稍后在后面的例子中進(jìn)行測(cè)試。 命令格式: StartDrag(要拖動(dòng)的影片剪輯,是否鎖定到鼠標(biāo)位置中央,左,

25、 上,右,下)或?qū)憺橐蟿?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í)

26、例,并按打開(kāi)動(dòng)作面板。輸入如下腳本: 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+回車(chē)來(lái)測(cè)試一下吧,你將會(huì)

27、看到舞臺(tái)上的圓 被你的鼠標(biāo)拖動(dòng)的效果。 、,通過(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(tr

28、ue, 50, 100, 250, 200);/這里我們就使用剛才確定好的個(gè)參數(shù)。 個(gè)點(diǎn)的參數(shù)就對(duì)拖動(dòng)對(duì)象實(shí)現(xiàn)了一個(gè)矩形區(qū)域的移動(dòng)約束! on (release) this.stopDrag(); 、好了,按Ctrl+回車(chē)去測(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è)碰撞命令 命令解釋?zhuān)?

29、以上兩個(gè)命令都是用來(lái)檢測(cè)碰撞的,可以根據(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 、選擇文字工具,并選擇文字類(lèi)型為“動(dòng)態(tài)文本”,在圓的實(shí)例下面拖繪出一個(gè) 動(dòng)態(tài)文本框。并起一個(gè)變量名

30、為:hk 、選中時(shí)間軸的第一楨,按打開(kāi)動(dòng)作面板,輸入以下腳本: _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)有接觸

31、到矩形區(qū)域范圍" /如果鼠標(biāo)沒(méi)有碰到舞臺(tái)上 yuan 這個(gè)實(shí)例的矩形區(qū)域范圍的話,就顯示 沒(méi)有接觸到矩形區(qū)域范圍。 ; 現(xiàn)在可以按Ctrl+回車(chē)去測(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) th

32、is.startDrag(true); on (release) 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è)腳本類(lèi)似,只不過(guò)不需要再書(shū)寫(xiě)軸和軸,也 不用

33、寫(xiě)是否碰到矩形區(qū)域范圍。簡(jiǎn)單吧 現(xiàn)在又到了測(cè)試階段了,去觀看你的成果六、流程控制與循環(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ù)

34、英文的意思,大家可以簡(jiǎn)單的理解上面的控制語(yǔ)句:如果.就.否 則.就. 下面來(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)的程

35、序, 如果不大于,就將執(zhí)行else后面大括號(hào)內(nèi)的程序。 實(shí)例講解: 、新建一個(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)單的流

36、程控制語(yǔ)句,根據(jù)實(shí)例的坐標(biāo)來(lái)進(jìn)行判斷。因?yàn)槲覀?使用了 enterFrame事件,所以 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ǔ)句) /用戶(hù)自己編寫(xiě)的腳本。 首先強(qiáng)調(diào)一點(diǎn),for 語(yǔ)句的括

37、號(hào)內(nèi)有三個(gè)項(xiàng)目,必須要用分號(hào)間隔開(kāi)! 初始變量:循環(huán)語(yǔ)句也是用條件是否成立來(lái)控制的,通常我們用一個(gè)變量來(lái)控制程序執(zhí) 行的次數(shù)。那么,這個(gè)初始變量就要先定義一個(gè)值。要注意的是,初始變量這個(gè)項(xiàng)目只執(zhí)行 一次! 條件語(yǔ)句:這個(gè)項(xiàng)目就是我們的判斷語(yǔ)句了。如果這個(gè)項(xiàng)目判斷為真(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è) f

38、lash 文檔,在舞臺(tái)上繪制一個(gè)圓,選中圓并按轉(zhuǎn)換成影片剪輯,起 名為:圓 這樣就在舞臺(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._alp

39、ha = random(100); 如果大家實(shí)在覺(jué)得 for 語(yǔ)言很難讀懂的話,你可以按照 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)作面板輸入以下腳本: gotoAndPla

40、y(1); 讓 flash播放到第幀的時(shí)候返回第幀再來(lái)執(zhí)行 for 循環(huán)語(yǔ)句。 、測(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)

41、上繪制出來(lái)一個(gè)*大小的矩形。 步驟: 、新建立一個(gè) flash文檔。 、既然要繪制一個(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);

42、_root.lineTo(50, 50); /設(shè)置結(jié)束點(diǎn)坐標(biāo),整個(gè)矩形繪制完畢 相信大家通過(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() /

43、自己定義一個(gè)函數(shù),這個(gè)函數(shù)起名為 draw(可自定),函數(shù)的功能是要實(shí) 現(xiàn)以 a 實(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 之間繪制出一條黑色的線條。 解釋?zhuān)簽榱藴p輕編寫(xiě)的工作量和程序的重復(fù)率,可以將某些功能

44、定義為一個(gè)函數(shù), 例如上面的 draw(),在使用的時(shí)候,直接執(zhí)行定義過(guò)的函數(shù),就可以完成函數(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(

45、);/強(qiáng)制更新畫(huà)面,是整個(gè)動(dòng)畫(huà)更加流暢。 按 Ctrl+回車(chē)測(cè)試動(dòng)畫(huà)效果。 二、顏色命令講解 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í)間軸第

46、一楨,打開(kāi)動(dòng)作面板,我們現(xiàn)在要用來(lái)幫助我們創(chuàng)建一個(gè)影片剪 輯的實(shí)例。所用到的命令為: createEmptyMovieClip("實(shí)例名稱(chēng)",深度)。創(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(0

47、x000000, 85); /開(kāi)始填充這個(gè) hk實(shí)例,顏色為黑色,透明度為 85 lineStyle(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)變色的功能

48、,也就 是當(dāng)鼠標(biāo)移動(dòng)的時(shí)候,這個(gè)矩形會(huì)隨機(jī)變換顏色!就需要用到我們的構(gòu)建 Color 對(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è)置矩形的顏色。 ;

49、 好了,這個(gè)例子是完全由腳本編寫(xiě)而成,所有腳本都在時(shí)間軸的第一楨 、按 Ctrl+回車(chē)來(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à)中的聲音

50、了。 常用命令講解: new Sound() 此命令用來(lái)創(chuàng)建一個(gè)新的 sound 對(duì)象,有了 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)始與停止 播放聲音。 操

51、作步驟: 、新建一個(gè) flash文檔,按 Ctrl+R(文件導(dǎo)入)導(dǎo)入一個(gè)聲音 文件,聲音文件可以是 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)

52、建一個(gè)名字叫 music 的聲音對(duì)象。 music.attachSound("mysound");/將這個(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+回車(chē)來(lái)測(cè)試吧。 三、創(chuàng)建一個(gè)

53、稍微復(fù)雜的例子,用來(lái)滑動(dòng)按鈕來(lái)控制聲音的音量。 操作步驟: 、新建一個(gè) flash文檔,并按 Ctrl+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)控制聲音的音量!按 鈕可以自

54、己制作或使用公用庫(kù)中的按鈕, 此例中我使用公用庫(kù)中的按 鈕。請(qǐng)?jiān)谖枧_(tái)適當(dāng)位置放置一個(gè)按鈕實(shí)例。 、選中按鈕,打開(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)范圍的左、右都固 定!只能讓按鈕在上下象素以?xún)?nèi)拖動(dòng)。 top = _y; left = _x; right = _x; b

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論