第7章ActionScript30編程基礎(chǔ)_第1頁
第7章ActionScript30編程基礎(chǔ)_第2頁
第7章ActionScript30編程基礎(chǔ)_第3頁
第7章ActionScript30編程基礎(chǔ)_第4頁
第7章ActionScript30編程基礎(chǔ)_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.l了解ActionScript 3.0的基本語法。l掌握代碼的書寫位置及方法。l掌握類的使用及擴(kuò)展方法。本章學(xué)習(xí)要求本章學(xué)習(xí)要求 第第7章章 ActionScript 3.0編程基礎(chǔ)編程基礎(chǔ). 7.1 ActionScript 3.0簡介 7.2 ActionScript 3.0的基本語法 7.3 ActionScript 3.0常用的內(nèi)置類 7.3 綜合實例記憶游戲本章大綱本章大綱.7.1 ActionScript 3.0簡介A c t i o n S c r i p t 3 . 0 是 最 新 且 最 具 創(chuàng) 新 性 的ActionScript版本,它是針對Adobe Flash Pla

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

3、。.區(qū)分大小寫點(diǎn)運(yùn)算符可通過點(diǎn)運(yùn)算符()來訪問對象的屬性和方法。字面值“字面值”是指直接出現(xiàn)在代碼中的值。分號可以使用分號字符(;)來終止語句。若省略分號字符,則編譯器將假設(shè)每一行代碼代表一條語句。使用分號終止語句,則代碼會更易于閱讀。使用分號還可在一行中放置多個語句,但會使代碼變得難以閱讀。注釋編譯器將忽略注釋中的文本。單行注釋以兩個正斜杠字符(/)開頭并持續(xù)到該行的末尾。多行注釋以一個正斜杠和一個星號(/*)開頭,以一個星號和一個正斜杠(*/)結(jié)尾。7.2 ActionScript 3.0的基本語法.7.3 ActionScript 3.0常用的內(nèi)置類獲取時間對時間的處理主要通過Date類

4、來實現(xiàn):var now:Date = new Date();通過點(diǎn)運(yùn)算符調(diào)用對象now中包含的getHours()、getMinutes()、getSeconds()方法便可得到當(dāng)前時間的小時、分鐘和秒的數(shù)值。var hour:Number=now.getHours();var minute:Number=now.getMinutes();var second:Number=now.getSeconds();指針旋轉(zhuǎn)角度的換算var rad_s = second * 6;7.3.1 知識準(zhǔn)備.var rad_m = minute * 6 + int(second / 10);var rad_h

5、 = hour % 12 * 30 + int(minute / 2);元件動畫設(shè)置 根據(jù)計算所得數(shù)值,通過點(diǎn)運(yùn)算符訪問并設(shè)置實例的rotation屬性便可以形成旋轉(zhuǎn)動畫。實例名.rotation = 計算所得數(shù)值;添加事件事件通過addEventListener()方法來添加,一般格式如下。接收事件對象.addEventListener(事件類型.事件名稱,事件響應(yīng)函數(shù)名稱);function 事件響應(yīng)函數(shù)名稱(e:事件類型) /此處是為響應(yīng)事件而執(zhí)行的動作。若是對時間軸添加事件,則使用this代替接收事件對象或省略不寫。.算法分析設(shè)一個變量index,要讓index在0n-1之間從小到大循

6、環(huán)變化,則可使用如下算法。index+; /“+”表示index = index+1,變量自加1index = index % n; /“%”表示取余數(shù)若要讓index在0n-1之間從大到小循環(huán)變化則:index += n-1; /“+=”是index = index + (n-1)的縮寫index = index % n;.【設(shè)計思路】制作時鐘外殼和陰影。制作表盤元素。制作指針和轉(zhuǎn)軸。繪制玻璃罩。添加控制代碼?!驹O(shè)計效果】【操作步驟】創(chuàng)建圖層。制作時鐘外殼。7.3.2 硬件典型案例1精美時鐘最終設(shè)計效果設(shè)置填充顏色繪制矩形、半橢圓、橢圓.制作陰影效果。制作表盤元素。調(diào)整填充形狀和橢圓位置設(shè)置

7、填充顏色復(fù)制刻度線并繪制圓刪除多余線段并加入數(shù)字.制作指針和轉(zhuǎn)軸。繪制玻璃罩。完成指針制作并繪制轉(zhuǎn)軸轉(zhuǎn)換元件并設(shè)置注冊點(diǎn)設(shè)置元件實例名稱設(shè)置填充顏色、調(diào)整色塊位置調(diào)整填充中心和大小.輸入控制代碼。(1)選擇圖層“AS3.0”第1幀,按F9快捷鍵打開【動作】面板,在此輸入控制代碼。(2)初始化變量并得到當(dāng)前時間。(3)計算各指針的旋轉(zhuǎn)角度。(4)設(shè)置各指針的旋轉(zhuǎn)屬性值。最后在所有圖層的第2幀插入幀,保存并測試影片,一個精美的時鐘制作完成?!景咐〗Y(jié)】通過本案例的學(xué)習(xí),除了掌握一個時鐘的制作步驟,還可了解一些制作技巧,如陰影的繪制、表盤刻度線的制作、玻璃效果的制作等。通過控制代碼可以掌握對象的初始

8、化、方法的調(diào)用、實例屬性值的設(shè)置等。.【設(shè)計思路】設(shè)計外殼。制作倒影。設(shè)計按鈕及界面元素。添加控制代碼?!驹O(shè)計效果】【操作步驟】創(chuàng)建圖層。設(shè)計MP3外殼。7.3.3 典型案例2時尚MP3最終設(shè)計效果設(shè)置圓角參數(shù)設(shè)置填充顏色調(diào)整填充方向和位置.設(shè)計外殼光影效果。設(shè)計倒影效果。繪制矩形調(diào)整填充顏色填充效果調(diào)色器設(shè)置.設(shè)計屏幕和按鈕圓盤。設(shè)置內(nèi)徑參數(shù)調(diào)整填充顏色設(shè)計效果調(diào)整方向和位置.制作控制按鈕?!皬椘稹睅爸羔樈?jīng)過”幀“按下”幀“點(diǎn)擊”幀設(shè)置填充顏色調(diào)整中心位置并繪制按鈕加入按鈕后效果.設(shè)計屏幕元素。為元件添加實例名稱。next_btnprev_btnjia_btnjian_btn“播放進(jìn)度”元

9、件jindutiao_mc“加載進(jìn)度”元件loaded_mcmusicname_txtvolume_txt各元件實例名稱設(shè)置填充色、添加文本框【要點(diǎn)提示】設(shè)置實例名時,由于“播放進(jìn)度”元件和“加載進(jìn)度”元件重合在一起不便選擇,所以應(yīng)使用圖層的鎖定和隱藏功能選擇正確的元件進(jìn)行實例名的設(shè)置。.輸入控制代碼。(1)選擇圖層“AS3.0”第1幀,按F9快捷鍵,打開【動作】面板,在此輸入控制代碼。(2)首先定義將要用到的變量和類的實例。(3)對各實例初始化,播放音樂數(shù)組中第1首音樂。(4)播放過程中設(shè)置“加載進(jìn)度”元件和“播放進(jìn)度”元件寬度。(5)添加“播放暫?!卑粹o、選擇播放上、下一首音樂、增加、降低

10、音量上的控制代碼。(6)保存并重命名為“music.mp3”,測試影片?!景咐〗Y(jié)】通過本案例的學(xué)習(xí),不但可以學(xué)會一個時尚MP3播放器的制作,而且可以學(xué)到一些常見立體特效的制作方法,如邊緣光影效果、立體倒影效果等。通過控制代碼可以學(xué)到對聲音的控制方法,以及控制加載進(jìn)度、播放進(jìn)度等的方法。.7.4 綜合實例記憶游戲【設(shè)計思路】設(shè)計背景。設(shè)計界面元素。添加控制代碼?!驹O(shè)計效果】【操作步驟】創(chuàng)建圖層。制作背景。添加界面元素【要點(diǎn)提示】“Click.mp3”和“Match.mp3”分別為翻轉(zhuǎn)卡片和消除卡片時播放的聲音; “開始”和“重來一次”分別用做開始和結(jié)束。最終設(shè)計結(jié)果.添加幀標(biāo)簽。添加幀上的控制

11、代碼。(1)選中圖層“AS3.0”第1幀,打開【動作】面板,輸入開始的控制代碼。(2)選中圖層“AS3.0”第3幀,在【動作】面板中輸入結(jié)束時的控制代碼。添加“卡片”元件動畫代碼。添加游戲主體控制代碼。添加幀標(biāo)簽設(shè)置鏈接屬性.最后保存代碼文件和Flash原文件并測試影片,就可以讓大腦開動起來,努力記住翻開的卡片,爭取用最短的時間消除掉舞臺中所有的卡片?!景咐〗Y(jié)】該實例充分展示了ActionScript的功能和作用,其中大部分功能和游戲邏輯都是由代碼實現(xiàn),而且使用了ActionScript 3.0面向?qū)ο蟮乃枷?,通過定義和擴(kuò)展類的方法使得程序邏輯更加清晰。其中需要注意以下幾點(diǎn):外部代碼文件中的

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

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論