第7章ActionScript30編程基礎(chǔ)_第1頁(yè)
第7章ActionScript30編程基礎(chǔ)_第2頁(yè)
第7章ActionScript30編程基礎(chǔ)_第3頁(yè)
第7章ActionScript30編程基礎(chǔ)_第4頁(yè)
第7章ActionScript30編程基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(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、第7章ActionScript30編程基礎(chǔ),了解ActionScript 3.0的基本語(yǔ)法。 掌握代碼的書(shū)寫位置及方法。 掌握類的使用及擴(kuò)展方法。,第7章 ActionScript 3.0編程基礎(chǔ),第7章ActionScript30編程基礎(chǔ),7.1 ActionScript 3.0簡(jiǎn)介 7.2 ActionScript 3.0的基本語(yǔ)法 7.3 ActionScript 3.0常用的內(nèi)置類 7.3 綜合實(shí)例記憶游戲,本章大綱,第7章ActionScript30編程基礎(chǔ),7.1 ActionScript 3.0簡(jiǎn)介,ActionScript 3.0是最新且最具創(chuàng)新性的ActionScript版本

2、,它是針對(duì)Adobe Flash Player運(yùn)行環(huán)境的編程語(yǔ)言,可以實(shí)現(xiàn)程序交互、數(shù)據(jù)處理以及其他許多功能。ActionScript 3.0相比于早期的ActionScript版本具有以下特點(diǎn)。 使用全新的字節(jié)碼指令集,并使用全新的AVM2虛擬 機(jī)執(zhí)行程序代碼,使性能顯著提高,其代碼的執(zhí)行 速度可以比舊式ActionScript代碼快10倍。 具有更為先進(jìn)的編譯器代碼庫(kù),嚴(yán)格遵循 ECMAScript(ECMA 262)標(biāo)準(zhǔn),相對(duì)于早期的編譯 器版本,可執(zhí)行更深入的優(yōu)化。 使用面向?qū)ο蟮木幊趟枷?,可最大限度重用已有?碼,方便創(chuàng)建擁有大型數(shù)據(jù)集和高度復(fù)雜應(yīng)用程序。 ActionScript

3、3.0的代碼只能寫在關(guān)鍵幀上或由外 部調(diào)入,而不能寫在元件上。,第7章ActionScript30編程基礎(chǔ),區(qū)分大小寫 點(diǎn)運(yùn)算符 可通過(guò)點(diǎn)運(yùn)算符()來(lái)訪問(wèn)對(duì)象的屬性和方法。 字面值 “字面值”是指直接出現(xiàn)在代碼中的值。 分號(hào) 可以使用分號(hào)字符(;)來(lái)終止語(yǔ)句。若省略分號(hào)字符,則編譯器將假設(shè)每一行代碼代表一條語(yǔ)句。使用分號(hào)終止語(yǔ)句,則代碼會(huì)更易于閱讀。使用分號(hào)還可在一行中放置多個(gè)語(yǔ)句,但會(huì)使代碼變得難以閱讀。 注釋 編譯器將忽略注釋中的文本。單行注釋以兩個(gè)正斜杠字符(/)開(kāi)頭并持續(xù)到該行的末尾。多行注釋以一個(gè)正斜杠和一個(gè)星號(hào)(/*)開(kāi)頭,以一個(gè)星號(hào)和一個(gè)正斜杠(*/)結(jié)尾。,7.2 Action

4、Script 3.0的基本語(yǔ)法,第7章ActionScript30編程基礎(chǔ),7.3 ActionScript 3.0常用的內(nèi)置類,獲取時(shí)間 對(duì)時(shí)間的處理主要通過(guò)Date類來(lái)實(shí)現(xiàn): var now:Date = new Date(); 通過(guò)點(diǎn)運(yùn)算符調(diào)用對(duì)象now中包含的getHours()、getMinutes()、getSeconds()方法便可得到當(dāng)前時(shí)間的小時(shí)、分鐘和秒的數(shù)值。 var hour:Number=now.getHours(); var minute:Number=now.getMinutes(); var second:Number=now.getSeconds(); 指針旋

5、轉(zhuǎn)角度的換算 var rad_s = second * 6;,7.3.1 知識(shí)準(zhǔn)備,第7章ActionScript30編程基礎(chǔ),var rad_m = minute * 6 + int(second / 10); var rad_h = hour % 12 * 30 + int(minute / 2); 元件動(dòng)畫設(shè)置 根據(jù)計(jì)算所得數(shù)值,通過(guò)點(diǎn)運(yùn)算符訪問(wèn)并設(shè)置實(shí)例的rotation屬性便可以形成旋轉(zhuǎn)動(dòng)畫。 實(shí)例名.rotation = 計(jì)算所得數(shù)值; 添加事件 事件通過(guò)addEventListener()方法來(lái)添加,一般格式如下。接收事件對(duì)象.addEventListener(事件類型.事件名稱

6、,事件響應(yīng)函數(shù)名稱); function 事件響應(yīng)函數(shù)名稱(e:事件類型) /此處是為響應(yīng)事件而執(zhí)行的動(dòng)作。 若是對(duì)時(shí)間軸添加事件,則使用this代替接收事件對(duì)象或省略不寫。,第7章ActionScript30編程基礎(chǔ),算法分析 設(shè)一個(gè)變量index,要讓index在0n-1之間從小到大循環(huán)變化,則可使用如下算法。 index+; /“+”表示index = index+1,變量自加1 index = index % n; /“%”表示取余數(shù) 若要讓index在0n-1之間從大到小循環(huán)變化則: index += n-1; /“+=”是index = index + (n-1)的縮寫 index

7、 = index % n;,第7章ActionScript30編程基礎(chǔ),【設(shè)計(jì)思路】 制作時(shí)鐘外殼和陰影。 制作表盤元素。 制作指針和轉(zhuǎn)軸。 繪制玻璃罩。 添加控制代碼。 【設(shè)計(jì)效果】 【操作步驟】 創(chuàng)建圖層。 制作時(shí)鐘外殼。,7.3.2 硬件典型案例1精美時(shí)鐘,最終設(shè)計(jì)效果,設(shè)置填充顏色,繪制矩形、半橢圓、橢圓,第7章ActionScript30編程基礎(chǔ),制作陰影效果。 制作表盤元素。,調(diào)整填充形狀和橢圓位置,設(shè)置填充顏色,復(fù)制刻度線并繪制圓,刪除多余線段并加入數(shù)字,第7章ActionScript30編程基礎(chǔ),制作指針和轉(zhuǎn)軸。 繪制玻璃罩。,完成指針制作并繪制轉(zhuǎn)軸,轉(zhuǎn)換元件并設(shè)置注冊(cè)點(diǎn),設(shè)置

8、元件實(shí)例名稱,設(shè)置填充顏色、 調(diào)整色塊位置,調(diào)整填充中心和大小,第7章ActionScript30編程基礎(chǔ),輸入控制代碼。 (1)選擇圖層“AS3.0”第1幀,按F9快捷鍵打開(kāi) 【動(dòng)作】面板,在此輸入控制代碼。 (2)初始化變量并得到當(dāng)前時(shí)間。 (3)計(jì)算各指針的旋轉(zhuǎn)角度。 (4)設(shè)置各指針的旋轉(zhuǎn)屬性值。 最后在所有圖層的第2幀插入幀,保存并測(cè)試影片, 一個(gè)精美的時(shí)鐘制作完成。,【案例小結(jié)】 通過(guò)本案例的學(xué)習(xí),除了掌握一個(gè)時(shí)鐘的制作步驟,還可了解一些制作技巧,如陰影的繪制、表盤刻度線的制作、玻璃效果的制作等。通過(guò)控制代碼可以掌握對(duì)象的初始化、方法的調(diào)用、實(shí)例屬性值的設(shè)置等。,第7章Action

9、Script30編程基礎(chǔ),【設(shè)計(jì)思路】 設(shè)計(jì)外殼。 制作倒影。 設(shè)計(jì)按鈕及界面元素。 添加控制代碼。 【設(shè)計(jì)效果】 【操作步驟】 創(chuàng)建圖層。 設(shè)計(jì)MP3外殼。,7.3.3 典型案例2時(shí)尚MP3,最終設(shè)計(jì)效果,設(shè)置圓角參數(shù),設(shè)置填充顏色,調(diào)整填充方向和位置,第7章ActionScript30編程基礎(chǔ),設(shè)計(jì)外殼光影效果。 設(shè)計(jì)倒影效果。,繪制矩形,調(diào)整填充顏色,填充效果,調(diào)色器設(shè)置,第7章ActionScript30編程基礎(chǔ),設(shè)計(jì)屏幕和按鈕圓盤。,設(shè)置內(nèi)徑參數(shù),調(diào)整填充顏色,設(shè)計(jì)效果,調(diào)整方向和位置,第7章ActionScript30編程基礎(chǔ),制作控制按鈕。,“彈起”幀,“指針經(jīng)過(guò)”幀,“按下”幀

10、,“點(diǎn)擊”幀,設(shè)置填充顏色,調(diào)整中心位置并繪制按鈕,加入按鈕后效果,第7章ActionScript30編程基礎(chǔ),設(shè)計(jì)屏幕元素。 為元件添加實(shí)例名稱。,next_btn,prev_btn,jia_btn,jian_btn,“播放進(jìn)度”元件 jindutiao_mc,“加載進(jìn)度”元件 loaded_mc,musicname_txt,volume_txt,各元件實(shí)例名稱,設(shè)置填充色、 添加文本框,【要點(diǎn)提示】 設(shè)置實(shí)例名時(shí),由于“播放進(jìn)度”元件和“加載進(jìn)度”元件重合在一起不便選擇,所以應(yīng)使用圖層的鎖定和隱藏功能選擇正確的元件進(jìn)行實(shí)例名的設(shè)置。,第7章ActionScript30編程基礎(chǔ),輸入控制代碼

11、。 (1)選擇圖層“AS3.0”第1幀,按F9快捷鍵,打開(kāi) 【動(dòng)作】面板,在此輸入控制代碼。 (2)首先定義將要用到的變量和類的實(shí)例。 (3)對(duì)各實(shí)例初始化,播放音樂(lè)數(shù)組中第1首音樂(lè)。 (4)播放過(guò)程中設(shè)置“加載進(jìn)度”元件和“播放進(jìn) 度”元件寬度。 (5)添加“播放暫?!卑粹o、選擇播放上、下一首 音樂(lè)、增加、降低音量上的控制代碼。 (6)保存并重命名為“music.mp3”,測(cè)試影片。,【案例小結(jié)】 通過(guò)本案例的學(xué)習(xí),不但可以學(xué)會(huì)一個(gè)時(shí)尚MP3播放器的制作,而且可以學(xué)到一些常見(jiàn)立體特效的制作方法,如邊緣光影效果、立體倒影效果等。通過(guò)控制代碼可以學(xué)到對(duì)聲音的控制方法,以及控制加載進(jìn)度、播放進(jìn)度等

12、的方法。,第7章ActionScript30編程基礎(chǔ),7.4 綜合實(shí)例記憶游戲,【設(shè)計(jì)思路】 設(shè)計(jì)背景。 設(shè)計(jì)界面元素。 添加控制代碼。 【設(shè)計(jì)效果】 【操作步驟】 創(chuàng)建圖層。 制作背景。 添加界面元素 【要點(diǎn)提示】 “Click.mp3”和“Match.mp3”分別為翻轉(zhuǎn)卡片和消除卡片時(shí)播放的聲音; “開(kāi)始”和“重來(lái)一次”分別用做開(kāi)始和結(jié)束。,最終設(shè)計(jì)結(jié)果,第7章ActionScript30編程基礎(chǔ),添加幀標(biāo)簽。 添加幀上的控制代碼。 (1)選中圖層“AS3.0”第1幀,打開(kāi)【動(dòng)作】面板, 輸入開(kāi)始的控制代碼。 (2)選中圖層“AS3.0”第3幀,在【動(dòng)作】面板中輸入結(jié)束時(shí)的控制代碼。 添加

13、“卡片”元件動(dòng)畫代碼。 添加游戲主體控制代碼。,添加幀標(biāo)簽,設(shè)置鏈接屬性,第7章ActionScript30編程基礎(chǔ),最后保存代碼文件和Flash原文件并測(cè)試影片,就可以讓大腦開(kāi)動(dòng)起來(lái),努力記住翻開(kāi)的卡片,爭(zhēng)取用最短的時(shí)間消除掉舞臺(tái)中所有的卡片。,【案例小結(jié)】 該實(shí)例充分展示了ActionScript的功能和作用,其中大部分功能和游戲邏輯都是由代碼實(shí)現(xiàn),而且使用了ActionScript 3.0面向?qū)ο蟮乃枷?,通過(guò)定義和擴(kuò)展類的方法使得程序邏輯更加清晰。其中需要注意以下幾點(diǎn): 外部代碼文件中的類必須包含在包中。 擴(kuò)展類時(shí),【鏈接屬性】中的類名、外部文件名和 代碼文件中的類名三者必須一致。 對(duì)于

14、游戲邏輯的分析,應(yīng)盡量考慮到所有可能出現(xiàn) 的情況。 時(shí)間軸EnterFrame事件,第2次創(chuàng)建之前應(yīng)先對(duì)其進(jìn)行移除,否則可能同時(shí)有兩個(gè)響應(yīng)事件副本運(yùn)行。,第7章ActionScript30編程基礎(chǔ),小結(jié) 通過(guò)本章內(nèi)容的學(xué)習(xí),可以了解并掌握ActionScript 3.0的編程思路和代碼編寫的方法,為開(kāi)發(fā)復(fù)雜的Flash應(yīng)用程序奠定了基礎(chǔ)。 在實(shí)例制作過(guò)程中,不但可以學(xué)會(huì)在Flash作品中常見(jiàn)特殊效果的制作方法,而且可以掌握以下常用的編程技巧和方法。 時(shí)間的獲取及表示方法。 聲音初始化、播放、停止、音量的控制等方法。 數(shù)的循環(huán)、時(shí)間的換算、隨機(jī)分布一些數(shù)組元素等技巧。 事件的添加和使用方法。 類的外部擴(kuò)展及使用方法。 ActionScript的功能遠(yuǎn)比本章所介紹的要強(qiáng)大,若想進(jìn)一步研究使用ActionScript 3.0開(kāi)

溫馨提示

  • 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)論