已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一講,Flash ActionScript 3.0 語法基礎(chǔ),二維動畫設(shè)計,概念釋義,舞臺(Stage) 用來顯示Flash元素的平臺 主時間軸(MainTimeLine) 用于控制Flash元素的顯示,二維動畫設(shè)計,概念釋義,顯示對象(Display Object) Flash中所有可視元素,包括圖形、按鈕、補(bǔ)間 動畫、文本等。 容器(Container),二維動畫設(shè)計,概念釋義,舞臺與主時間軸的包含關(guān)系,舞臺,主時間軸,其他元素,代碼編寫位置及方式,直接放在主時間軸的幀中 使用類,二維動畫設(shè)計,AS3.0 語法基礎(chǔ)數(shù)據(jù)類型,基本數(shù)據(jù)類型,復(fù)雜數(shù)據(jù)類型,二維動畫設(shè)計,AS3.0語言基本元素,2、變量的聲明和使用 變量必須先聲明再使用 聲明變量的語法,變量命名規(guī)則 盡量使用有含義的英文單詞作為變量名 變量名采用駱駝式命名法 盡量避免變量名中出現(xiàn)數(shù)字編號,var 變量名:數(shù)據(jù)類型; var 變量名:數(shù)據(jù)類型 = 值,如果要賦值,值的數(shù)據(jù)類型必須和變量的數(shù)據(jù)類型一致,i i=3 var j = “String Value”,var i:int i=100 var k:int = 100,i:int=200 var j:String = “String Value”,二維動畫設(shè)計,AS3.0語言基本元素,3、使用const聲明常量 AS3中新增的關(guān)鍵字 語法,const foo:int = 100,二維動畫設(shè)計,AS3.0語言基本元素,數(shù)字:int,uint,Number int:有符號的32位整數(shù)型,數(shù)值范圍:-231+(231-1) uint:沒有符號的32位整數(shù)型,數(shù)值范圍:0 232-1 Number:64位浮點(diǎn)值,數(shù)值范圍1.79769313486231e+308 4.960656458412467e-324,使用int,uint,Number應(yīng)當(dāng)注意的事項: 能用整數(shù)值時優(yōu)先使用int和uint 整數(shù)值有正負(fù)之分時,使用int 只處理正整數(shù),優(yōu)先使用uint 處理和顏色相關(guān)的數(shù)值時,使用uint 碰到或可能碰到小數(shù)點(diǎn)時使用Number 整數(shù)數(shù)值運(yùn)算涉及到除法,建議使用浮點(diǎn)值,二維動畫設(shè)計,AS3.0語言基本元素字符串,字符串:String 如何聲明字符串?,var stringSample1:String; var stringSample2:String=“”; var stringSample3:String=new String() var stringSample4:String=“abc” var stringSample5:String=new String(“abc”) var stringSample6:String=abc,var stringLength:Number=stringSample.length;,如何知道字符串的長度?,二維動畫設(shè)計,AS3.0 復(fù)雜數(shù)據(jù)類型數(shù)組,數(shù)組:Array 數(shù)組最多容納232-1個元素 默認(rèn)值為空值:null 數(shù)組的聲明方式,數(shù)組元素的訪問,var a:Array= var b:Array=new Array() var c:Array=1,2,3,4 var d:Array=new Array(1,2,3,4),根據(jù)元素的位置,使用數(shù)組運(yùn)算符:數(shù)組名下標(biāo) d0,d1,容易犯的錯誤: var arr:Array arr0=*,二維動畫設(shè)計,AS3.0 復(fù)雜數(shù)據(jù)類型數(shù)組,在數(shù)組中,可以保存多個任意類型的數(shù)據(jù)。 var arr:Array=new Array() arr0=1; arr1=“abc”; arr2=true; arr3=new MovieClip(),二維動畫設(shè)計,數(shù)組常用函數(shù),插入數(shù)組元素3種方法: push()在數(shù)組末尾添加一個或多個元素 unshift()在數(shù)組開頭插入一個或多個元素 splice()用于在數(shù)組指定索引處插入或刪除指定數(shù)目的元素(替換元素),二維動畫設(shè)計,數(shù)組常用函數(shù),刪除數(shù)組元素3種方法: pop()從數(shù)組末尾刪除一個元素 unshift()從數(shù)組開頭刪除一個元素 splice()用于在數(shù)組指定索引處插入或刪除指定數(shù)目的元素(替換元素),二維動畫設(shè)計,AS3.0 復(fù)雜數(shù)據(jù)類型對象,Object及關(guān)聯(lián)數(shù)組 Object的成員 聲明新Object方法,二維動畫設(shè)計,AS3.0 復(fù)雜數(shù)據(jù)類型對象,Object類是所有類的父類,可以接收任何類型的數(shù)據(jù), 同時也是動態(tài)類,可以向動態(tài)類的實例添加屬性。 var obj:Object=new Object(); obj=50; obj=; obj=x:0; obj.y=2 /動態(tài)添加屬性,二維動畫設(shè)計,點(diǎn)語法,點(diǎn)運(yùn)算符“.”訪問對象的屬性和方法。使用時,在對象名后加上點(diǎn)運(yùn)算符,再跟對象的屬性和方法, 對象名(實例名).屬性(方法) /聲明一個Number數(shù)據(jù)類型變量n,并賦予值10 var n:Number = 10; /輸出n的16進(jìn)制字符串表示形式 trace(n.toString(16); parseInt()函數(shù) 點(diǎn)語法還可以表示包的嵌套關(guān)系。,二維動畫設(shè)計,點(diǎn)語法,點(diǎn)語法可以用數(shù)組運(yùn)算符代替,訪問實例的屬性和方 法也可以使用數(shù)組運(yùn)算符。訪問規(guī)則:把屬性名或方法 作為字符串放在數(shù)組運(yùn)算符中。 有時點(diǎn)語法不能很好工作時,亦可用數(shù)組運(yùn)算符代替。,二維動畫設(shè)計,ActionScript 3語言基本元素,運(yùn)算符、表達(dá)式及運(yùn)用 算數(shù)運(yùn)算符:+,-,*,/,%,求反 算數(shù)賦值運(yùn)算符:+=,-=,*=,/=,%= 關(guān)系運(yùn)算符(判斷相等關(guān)系):=,!=,=,!= 關(guān)系運(yùn)算符(判斷大小關(guān)系):=, 邏輯運(yùn)算符:&,|,! 三元if-else運(yùn)算符:?: typeof(用字符串形式返回對象的類型) is(判斷一個對象是否屬于一種類型,返回布爾值) as(如果一個對象屬于一種類型,則返回這個對象,否則返回null) 優(yōu)先級順序:使用括號代替記憶,二維動畫設(shè)計,ActionScript 3 流程控制,條件判斷 功能:當(dāng)程序執(zhí)行到“if”語句時,首先判斷參數(shù)“條件”中邏輯表達(dá)式的運(yùn)算結(jié)果,如果結(jié)果為“真”(true)則執(zhí)行當(dāng)前“if”語句內(nèi)的腳本語句,如果結(jié)果為“假”(false),則檢查當(dāng)前“if”語句中是否有“else”或者“else if”子句,如果有則繼續(xù)進(jìn)行判斷,如果沒有則跳過當(dāng)前“if”語句內(nèi)的所有程序代碼,繼續(xù)執(zhí)行下面的程序。,二維動畫設(shè)計,ActionScript 3 流程控制,三種格式: 格式1:如果條件表達(dá)式為true(真),執(zhí)行流程語句;如果為假(false),不執(zhí)行流程語句 if(條件表達(dá)式) 流程 格式2:如果條件表達(dá)式為true(真),執(zhí)行流程a;如果為假(false),執(zhí)行流程b if(條件表達(dá)式) 流程a else 流程b ,二維動畫設(shè)計,ActionScript 3 流程控制,var foo:int=10; var bar:int=5; if(foobar) trace(“Foo is winner!”) else trace(“Bar is winner!”) ,二維動畫設(shè)計,ActionScript 3 流程控制,三種格式 格式3:if(條件表達(dá)式1) 流程1; /如果條件表達(dá)式1成立則執(zhí)行流程1 else if(條件表達(dá)式2) 流程2; /如果條件表達(dá)式2成立則執(zhí)行流程2 else if(條件表達(dá)式3) 流程3; /如果條件表達(dá)式3成立則執(zhí)行流程3 else if /else if語句可以一直寫下去,用以判斷多種情況。,二維動畫設(shè)計,ActionScript 3 流程控制,var foo:int = 500; if(foo 0) trace(“foo 是一個正整數(shù)”) else if(foo 100) trace(“foo 是一個大于100的正整數(shù)”) else trace(“foo 小于0”) ,輸出:,foo 是一個正整數(shù),var foo:int = 500; if(foo 100) trace(“foo 是一個大于100的正整數(shù)”) else if(foo 0) trace(“foo 是一個正整數(shù)”) else trace(“foo 小于0”) ,二維動畫設(shè)計,ActionScript 3 流程控制,范例:重復(fù)左右移動的飛鳥 X方向位置不斷改變 到達(dá)邊緣后反向 小鳥影片剪輯添加監(jiān)聽事件,二維動畫設(shè)計,ActionScript 3 流程控制,循環(huán) 語句: while,do-while,for, forin, for eachin,設(shè)計步驟: 確定循環(huán)內(nèi)容(循環(huán)體) 確定循環(huán)變量 循環(huán)三要素: 循環(huán)初始化 循環(huán)條件表達(dá)式 循環(huán)體中必須有改變循環(huán)變量值的語句,二維動畫設(shè)計,ActionScript 3 流程控制,while循環(huán)控制語句 功能:當(dāng)滿足條件表達(dá)式的時候,再執(zhí)行循環(huán)體。 while(循環(huán)條件) 循環(huán)體; ,do 循環(huán)體; while(循環(huán)條件) 不管“條件”成立與否、循環(huán)與否,循環(huán)體至少都要執(zhí)行1次。,二維動畫設(shè)計,ActionScript 3 流程控制,范例(while): 在舞臺復(fù)制出10個小鳥,而且水平位置、垂直位置、水平縮放比例、垂直縮放比例和透明度都是隨機(jī)變化的。 范例(dowhile): 根據(jù)用戶指定的數(shù)量加入對象,隨機(jī)數(shù)的使用,二維動畫設(shè)計,ActionScript 3 流程控制,循環(huán)語句 For循環(huán)控制語句 功能:讓指定程序代碼塊執(zhí)行一定次數(shù)的循環(huán)。 格式: for (初始化;循環(huán)條件;步進(jìn)) 循環(huán)體; ,二維動畫設(shè)計,ActionScript 3 流程控制,范例:復(fù)制小鳥 范例:數(shù)的累加,var sum = 0; for (var i=1; i=100; i+) sum = sum + i; trace(sum),二維動畫設(shè)計,forin循環(huán)句,forin循環(huán)主要用于在對象或數(shù)組中循環(huán)訪問屬性或數(shù)組對象。其語法結(jié)構(gòu)如下。 在執(zhí)行時,變量i將用于代表對象object中的每一個屬性,直到“遍歷”對象的全部屬性之后,循環(huán)才會結(jié)束。,二維動畫設(shè)計,forin循環(huán)句,上例輸出結(jié)果為:company name age。可以看到可以通過循環(huán)訪問預(yù)先定義的對象obj的每個屬性。其屬性值則可以使用obji來獲得。 上述代碼的輸出結(jié)果為: company:Adobe name:張三 age:25,二維動畫設(shè)計,for eachin循環(huán)句,與forin循環(huán)類似,for eachin也是一種遍歷方式。不過forin遍歷的是屬性,而for eachin遍歷的是屬性值。例如,對象x=4,y=5包含2個屬性(x和y),forin遍歷的結(jié)果是x和y(屬性名稱),而for eachin遍歷的結(jié)果則是4和5(屬性的值)。 for eachin循環(huán)句的語法如下。,二維動畫設(shè)計,for eachin循環(huán)句,對比可以發(fā)現(xiàn),forin循環(huán)中使用的變量i定義為字符串類型,這是因為屬性名稱肯定是字符串;而在for eachin的遍歷過程中,由于屬性值不確定(可能是Number、Boolean、String或者更復(fù)雜的變量類型),因此i的數(shù)據(jù)類型也并不確定,使用“*”(星號)注明其類型不確定。 上述代碼的輸出結(jié)果為:Adobe 張三 25 注意:與在forin例子中,使用obji訪問的結(jié)果相同。,二維動畫設(shè)計,ActionScript 3 流程控制,with語句 如果有一系列語句都作用于同一對象上,則可以使用with語句一次指定全部語句對該對象的參考 使用with語句可以提高程序的執(zhí)行速度,并且可以避免重復(fù)輸入對象名稱的問題。,with(mymc) alpha = 0.2 x= 200 y = 200 ,mymc.alpha=20 mymc.x = 200 mymc.y = 200,=,二維動畫設(shè)計,ActionScript 3 流程控制,break和continue語句 都在循環(huán)體內(nèi)使用; Break用來直接跳出循環(huán),不再執(zhí)行循環(huán)體內(nèi)后面的語句。 continue語句只是終止當(dāng)前這一輪的循環(huán),直接跳到下一輪循環(huán),而在這一輪循環(huán)中,循環(huán)體內(nèi)continue后面的語句也不會執(zhí)行。,for(var i:int=0;i5;i+) if(i=3)break; trace(“當(dāng)前數(shù)字:“+i); ,for(var i:int=0;i5;i+) if(i=3)continue; trace(“當(dāng)前數(shù)字:“+i); ,二維動畫設(shè)計,ActionScript 3 流程控制,選擇分支判斷switch,switch(值或表達(dá)式) case 值或表達(dá)式1:語句1;break; case 值或表達(dá)式2:語句2;break; case 值或表達(dá)式3:語句3;break; defalt: 語句4; ,二維動畫設(shè)計,ActionScript 3 流程控制,var fruits:Array=“apple“,“banana“,“grape“,“watermelon“,“mango“; var currentFruit:String=fruitsMath.floor(Math.random()*fruits.length); trace(“the fruit you selected is :“+currentFruit); switch (currentFruit) case “apple“ : trace(“apple,apple,please pay for apple!“); break; case “mango“ : trace(“mango,mango,please pay for mango!“); break; default : trace(“0,you have a free chance to eat :“+currentFruit); ,switch (currentFruit) case “apple“ : trace(“o ,o , its an apple!“); case “mango“ : trace(“eat for free!“); break; case “banana“ : case “grape“ : trace(“please pay for it!“); break; default : trace(“o , I wont buy watermelon“);,二維動畫設(shè)計,ActionScript 3中的函數(shù),函數(shù):執(zhí)行特定任務(wù)并可以在程序中重用的代碼塊。 兩類:方法;函數(shù)閉包 兩種定義方式:函數(shù)語句聲明法;函數(shù)表達(dá)式聲明法,二維動畫設(shè)計,ActionScript 3中的函數(shù),參數(shù): 按值傳入?yún)?shù): 按引用來傳入?yún)?shù): Action Script3中,所有的參數(shù)都是按引用傳入的。 基元數(shù)據(jù)類型是不變對象,傳引用和傳值的效果一樣。,二維動畫設(shè)計,ActionScript 3中的函數(shù),范例:,function test(valuePara:int,referencePara:Array):vo
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度臨時電力設(shè)備安裝及驗收合同2篇
- 二零二五版學(xué)生入學(xué)圖書資源使用與管理合同3篇
- 二零二五年度展覽館設(shè)計與施工合同4篇
- 生態(tài)養(yǎng)殖場合作合同
- 農(nóng)村土地承包經(jīng)營權(quán)轉(zhuǎn)讓合同
- 二零二五年度智慧農(nóng)業(yè)種植項目承包協(xié)議書4篇
- 二零二四年智能制造生產(chǎn)車間承包服務(wù)協(xié)議3篇
- 二零二五年度城市綠化蟲害防治與景觀維護(hù)服務(wù)協(xié)議2篇
- 二零二四年文化演藝活動策劃合同帶眉腳
- 2025年度個人生育保險代繳服務(wù)合同范本4篇
- 《梅大高速茶陽路段“5·1”塌方災(zāi)害調(diào)查評估報告》專題警示學(xué)習(xí)
- GB/T 33629-2024風(fēng)能發(fā)電系統(tǒng)雷電防護(hù)
- 道路安全教育課件
- 2023年浙江省衢州市中考語文試題(含答案解析)
- 深靜脈血栓(DVT)課件
- 2023年四川省廣元市中考數(shù)學(xué)試卷
- 醫(yī)務(wù)科運(yùn)用PDCA循環(huán)提高門診醫(yī)生準(zhǔn)時出診率PDCA成果匯報
- GB/T 19885-2005聲學(xué)隔聲間的隔聲性能測定實驗室和現(xiàn)場測量
- GB/T 17387-1998潛油電泵裝置的操作、維護(hù)和故障檢查
- 高標(biāo)準(zhǔn)基本農(nóng)田建設(shè)規(guī)范培訓(xùn)課件
- 學(xué)校委托管理協(xié)議書范本
評論
0/150
提交評論