AS3flash基礎教程.ppt_第1頁
AS3flash基礎教程.ppt_第2頁
AS3flash基礎教程.ppt_第3頁
AS3flash基礎教程.ppt_第4頁
AS3flash基礎教程.ppt_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2019年7月11日1時28分,Flash 動畫設計與制作,1,Flash 動畫設計與制作,2019年7月11日1時28分,Flash 動畫設計與制作,2,Flash簡介,Flash 是Macromedia 公司的一個非常受歡迎的多媒體產品。 它是一種用于制作和編輯動畫和電影的軟件。 它可以在使用很少字節(jié)量的情況下,實現高質量的矢量圖形和交互式動畫的制作。 它的動畫文件擴展名為.swf,可以插入html語言中,也可以單獨成為網頁。 Flash 不但能夠制作一般的動畫,而且可以制作出帶有背景聲音,具有較強的交互性能的電影。 2006年底Adobe公司收購Macromedia 公司,于07年推出Flash CS版本,在ActionScript方面做了較大改動。,2019年7月11日1時28分,Flash 動畫設計與制作,3,Flash動畫特點,用Flash制作出來的動畫是矢量的,動畫放大后,不會引起失真,所形成動畫文件占用的存儲空間很小,特別適合在網絡上使用。 Flash使用插件方式進行工作,用戶只要安裝一次插件,就可以在瀏覽器中觀看Flash動畫。此外Flash支持多種格式圖片,支持聲音,支持漸變色,支持A1pha透明、蒙扳等功能。 Flash動畫電影是一種“流”形式文件,動畫是一邊下載一邊播放的,幾乎感覺不到文件下載過程下來。,2019年7月11日1時28分,Flash 動畫設計與制作,4,Flash的應用,網站建設 網上 教學課件 影視片頭 游戲制作 手機服務 動畫片 MTV 廣告 ,2019年7月11日1時28分,Flash 動畫設計與制作,5,Flash cs3新增功能介紹,界面操作 面板折疊開關 矩形工具 橢圓工具 導入外部資源 動作面板,2019年7月11日1時28分,Flash 動畫設計與制作,6,ActionScript的新特性,ActionScript 3中的新特性: 1.運行時排錯:錯誤會運行時拋出以幫助你調試你的影片。 2.運行時變量類型檢測:在回放時會檢測變量的類型是否合法。 3.類封裝:靜態(tài)定義的類以增強性能。 4.方法封裝:方法現在與它們相關的類實例綁定因此在方法中的this將不會改變。 5.E4X :一個新的,更易于操作的xml 6.正則表達式:支持本地化正規(guī)表達式。 7.命名空間:不但在xml中支持命名空間而且在類的定義中也同樣支持。 8.int和uint數據類型:新的數據變量類型允許ActionScript使用更快的整型數據來進行計算。 9.新的顯示列表模式:一個新的,自由度較大的管理屏幕上顯示對象的方法。 10.新的事件類型模式:一個新的基于偵聽器事件的模式。,2019年7月11日1時28分,Flash 動畫設計與制作,7,在哪里輸入Flash CS3代碼,時間線上(幀) 外部文件 Hello,world 對動畫的控制,2019年7月11日1時28分,Flash 動畫設計與制作,8,體會一下AS3,下雪效果 在AS3中怎樣把庫中的元件加載舞臺 AS3的事件偵聽機制 在AS3中改變對象的位置和縮放對象,先在庫中右擊該元件,打開連接面板,在類的文本框中給這個類取一個名字,比如myl 在場景的幀中輸入: var mymc:myl = new myl(); addChild(mymc); mymc.x = 100; mymc.y = 100;,function 函數名稱(事件對象:事件類型):void / 此處是為響應事件而執(zhí)行的動作。 觸發(fā)事件的對象.addEventListener(事件類型.事件名稱, 函數名稱);,2019年7月11日1時28分,Flash 動畫設計與制作,9,思考,如何修改(實現)以前的對影片剪輯的控制?,2019年7月11日1時28分,Flash 動畫設計與制作,10,ActionScript 3語言基本元素,1、數據的本質及其重要性質 數據是一切編程語言的基石 ActionScript 3中所有數據都是對象 數據類型:,基元數據類型,復雜數據類型,Boolean int Number uint String,處理數字,處理文字,標識真假,Array,Date,Error,Function,RegExp,XML,XMLList, 自己定義的類,2019年7月11日1時28分,Flash 動畫設計與制作,11,ActionScript 3語言基本元素,2、變量的聲明和使用 變量必須先聲明再使用 聲明變量的語法,變量命名規(guī)則 盡量使用有含義的英文單詞作為變量名 變量名采用駱駝式命名法 盡量避免變量名中出現數字編號,var 變量名:數據類型; var 變量名:數據類型 = 值,如果要賦值,值的數據類型必須和變量的數據類型一致,i i=3 var j = “String Value”,var i:int i=100 var k:int = 100,i:int=200 var j:String = “String Value”,2019年7月11日1時28分,Flash 動畫設計與制作,12,ActionScript 3語言基本元素,3、使用const聲明常量 AS3中新增的關鍵字 語法,const foo:int = 100,2019年7月11日1時28分,Flash 動畫設計與制作,13,ActionScript 3語言基本元素,4、基礎數據類型 所有的基元數據類型 兩種復雜數據類型,布爾值:Boolean 表示真假 兩個值:true,false 聲明一個布爾型變量時忘記賦值,默認值為false,Boolean,int,Number,unit,String,Array,Object,2019年7月11日1時28分,Flash 動畫設計與制作,14,ActionScript 3語言基本元素,4、基礎數據類型 所有的基元數據類型 兩種復雜數據類型,數字:int,uint,Number int:有符號的32位整數型,數值范圍:-231+(231-1) uint:沒有符號的32位整數型,數值范圍:0 232-1 Number:64位浮點值,數值范圍1.79769313486231e+308 4.960656458412467e-324,Boolean,int,Number,uint,String,Array,Object,2019年7月11日1時28分,Flash 動畫設計與制作,15,ActionScript 3語言基本元素,4、基礎數據類型 所有的基元數據類型 兩種復雜數據類型,數字:int,uint,Number int:有符號的32位整數型,數值范圍:-231+(231-1) uint:沒有符號的32位整數型,數值范圍:0 232-1 Number:64位浮點值,數值范圍1.79769313486231e+308 4.960656458412467e-324,Boolean,int,Number,uint,String,Array,Object,使用int,uint,Number應當注意的事項: 能用整數值時優(yōu)先使用int和uint 整數值有正負之分時,使用int 只處理正整數,優(yōu)先使用uint 處理和顏色相關的數值時,使用uint 碰到或可能碰到小數點時使用Number 整數數值運算涉及到除法,建議使用浮點值,2019年7月11日1時28分,Flash 動畫設計與制作,16,ActionScript 3語言基本元素,4、基礎數據類型 所有的基元數據類型 兩種復雜數據類型,字符串:String 如何聲明字符串? 如何知道字符串的長度?,Boolean,int,Number,uint,String,Array,Object,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 stringSample:String=“this is an apple”; var stringLength:Number=stringSample.length; trace(stringLength),2019年7月11日1時28分,Flash 動畫設計與制作,17,ActionScript 3語言基本元素,4、基礎數據類型 所有的基元數據類型 兩種復雜數據類型,數組:Array 數組最多容納232-1個元素 默認值為空值:null 數組的聲明方式 數組元素的訪問,Boolean,int,Number,uint,String,Array,Object,var a:Array= var b:Array=new Array() var c:Array=1,2,3,4 var d:Array=new Array(1,2,3,4),根據元素的位置,使用數組運算符 d0,d1,2019年7月11日1時28分,Flash 動畫設計與制作,18,ActionScript 3語言基本元素,4、基礎數據類型 所有的基元數據類型 兩種復雜數據類型,Object及關聯數組 Object的成員 聲明新Object方法,Boolean,int,Number,uint,String,Array,Object,2019年7月11日1時28分,Flash 動畫設計與制作,19,ActionScript 3語言基本元素,4、基礎數據類型 所有的基元數據類型 兩種復雜數據類型,變量的默認值 int,uint的默認值為0 Number的默認值為NaN Boolean的默認值為false String的默認值為null,Boolean,int,Number,uint,String,Array,Object,2019年7月11日1時28分,Flash 動畫設計與制作,20,ActionScript 3語言基本元素,5、運算符、表達式及運用 要有運算對象才可以進行運算 運算對象和運算符的組合稱為表達式 最常用的運算符:賦值運算符(=) 將等號右邊的值(右值)復制給等號左邊的變量。 等號左邊必須是一個變量,不能是基元數據類型,也不能是沒有聲明的對象的引用。 常見合法形式: 非法形式:,常見合法形式 var a : int=3 var b:String b=“new” a=3+4-5 var c:Object=new Object() var d:Object=c,非法形式 var a 4 =5 “I am a string”=a new Object()=5,2019年7月11日1時28分,Flash 動畫設計與制作,21,ActionScript 3語言基本元素,5、運算符、表達式及運用 算數運算符:+,-,*,/,%,求反 算數賦值運算符:+=,-=,*=,/=,%= 關系運算符(判斷相等關系):=,!=,=,!= 關系運算符(判斷大小關系):=, 邏輯運算符:&,|,! 三元if-else運算符:?: typeof(用字符串形式返回對象的類型) is(判斷一個對象是否屬于一種類型,返回布爾值) as(如果一個對象屬于一種類型,則返回這個對象,否則返回null) 優(yōu)先級順序:使用括號代替記憶,2019年7月11日1時28分,Flash 動畫設計與制作,22,ActionScript 3 流程控制,條件判斷 功能:當程序執(zhí)行到“if”語句時,首先判斷參數“條件”中邏輯表達式的運算結果,如果結果為“真”(true)則執(zhí)行當前“if”語句內的腳本語句,如果結果為“假”(false),則檢查當前“if”語句中是否有“else”或者“else if”子句,如果有則繼續(xù)進行判斷,如果沒有則跳過當前“if”語句內的所有程序代碼,繼續(xù)執(zhí)行下面的程序。,2019年7月11日1時28分,Flash 動畫設計與制作,23,ActionScript 3 流程控制,三種格式: 格式1:如果條件表達式為true(真),執(zhí)行流程語句;如果為假(false),不執(zhí)行流程語句 if(條件表達式) 流程 格式2:如果條件表達式為true(真),執(zhí)行流程a;如果為假(false),執(zhí)行流程b if(條件表達式) 流程a else 流程b ,2019年7月11日1時28分,Flash 動畫設計與制作,24,ActionScript 3 流程控制,var foo:int=10; var bar:int=5; if(foobar) trace(“Foo is winner!”) else trace(“Bar is winner!”) ,2019年7月11日1時28分,Flash 動畫設計與制作,25,ActionScript 3 流程控制,三種格式 格式3:if(條件表達式1) 流程1; /如果條件表達式1成立則執(zhí)行流程1 else if(條件表達式2) 流程2; /如果條件表達式2成立則執(zhí)行流程2 else if(條件表達式3) 流程3; /如果條件表達式3成立則執(zhí)行流程3 else if /else if語句可以一直寫下去,用以判斷多種情況。,2019年7月11日1時28分,Flash 動畫設計與制作,26,ActionScript 3 流程控制,var foo:int = 500; if(foo 0) trace(“foo 是一個正整數”) else if(foo 100) trace(“foo 是一個大于100的正整數”) else trace(“foo 小于0”) ,輸出:,foo 是一個正整數,var foo:int = 500; if(foo 100) trace(“foo 是一個大于100的正整數”) else if(foo 0) trace(“foo 是一個正整數”) else trace(“foo 小于0”) ,2019年7月11日1時28分,Flash 動畫設計與制作,27,ActionScript 3 流程控制,范例:重復左右移動的飛鳥 X方向位置不斷改變 到達邊緣后反向 小鳥影片剪輯添加監(jiān)聽事件,2019年7月11日1時28分,Flash 動畫設計與制作,28,ActionScript 3 流程控制,循環(huán) 語句: while,do-while,for, forin, for eachin,設計步驟: 確定循環(huán)內容(循環(huán)體) 確定循環(huán)變量 循環(huán)三要素: 循環(huán)初始化 循環(huán)條件表達式 循環(huán)體中必須有改變循環(huán)變量值的語句,2019年7月11日1時28分,Flash 動畫設計與制作,29,ActionScript 3 流程控制,while循環(huán)控制語句 功能:當滿足條件表達式的時候,再執(zhí)行循環(huán)體。 while(循環(huán)條件) 循環(huán)體; ,do 循環(huán)體; while(循環(huán)條件) 不管“條件”成立與否、循環(huán)與否,循環(huán)體至少都要執(zhí)行1次。,2019年7月11日1時28分,Flash 動畫設計與制作,30,ActionScript 3 流程控制,范例(while): 在舞臺復制出10個小鳥,而且水平位置、垂直位置、水平縮放比例、垂直縮放比例和透明度都是隨機變化的。 范例(dowhile): 根據用戶指定的數量加入對象,隨機數的使用,2019年7月11日1時28分,Flash 動畫設計與制作,31,ActionScript 3 流程控制,循環(huán)語句 For循環(huán)控制語句 功能:讓指定程序代碼塊執(zhí)行一定次數的循環(huán)。 格式: for (初始化;循環(huán)條件;步進) 循環(huán)體; ,2019年7月11日1時28分,Flash 動畫設計與制作,32,ActionScript 3 流程控制,范例:復制小鳥 范例:數的累加,var sum = 0; for (var i=1; i=100; i+) sum = sum + i; trace(sum),2019年7月11日1時28分,Flash 動畫設計與制作,33,ActionScript 3 流程控制,for in和for each in 循環(huán)條件是對象的某一組屬性或某一數組的元素集合 基本語法格式:,循環(huán)次數由引用對象的屬性個數或者數組元素的個數決定 該循環(huán)實際上需要窮舉該對象或數組中的所有內容。,for (變量 in 對象或數組名) /運行腳本 ,for each(變量 in 對象或數組名) /運行腳本 ,2019年7月11日1時28分,Flash 動畫設計與制作,34,ActionScript 3 流程控制,范例,var myBooks:Object= cookbook:”ActionScript 3.0 Cookbook 中文版” , asbook:”ActionScript 3.0殿堂之路”, mxbook:”Flash MX 2004 ActionScript動畫設計” ,for (var k in myBooks) trace(“成員名字(鍵):”+k+”t成員(值):”+myBooksk) ,for each(var k in myBooks) trace(“成員:”+k) ,成員名字(鍵):mxbook 成員(值):Flash MX 2004 ActionScript動畫設計 成員名字(鍵):asbook 成員(值):ActionScript 3.0殿堂之路 成員名字(鍵):cookbook 成員(值):ActionScript 3.0 Cookbook 中文版,成員:ActionScript 3.0殿堂之路 成員:ActionScript 3.0 Cookbook 中文版 成員:Flash MX 2004 ActionScript動畫設計,2019年7月11日1時28分,Flash 動畫設計與制作,35,ActionScript 3 流程控制,with語句 如果有一系列語句都作用于同一對象上,則可以使用with語句一次指定全部語句對該對象的參考 使用with語句可以提高程序的執(zhí)行速度,并且可以避免重復輸入對象名稱的問題。,with(mymc) alpha = 0.2 x= 200 y = 200 ,mymc.alpha=20 mymc.x = 200 mymc.y = 200,=,范例:等待目的地坐標的獅子,思考:當輸入值超出邊界,給出相應提示,2019年7月11日1時28分,Flash 動畫設計與制作,36,ActionScript 3 流程控制,break和continue語句 都在循環(huán)體內使用; Break用來直接跳出循環(huán),不再執(zhí)行循環(huán)體內后面的語句。 continue語句只是終止當前這一輪的循環(huán),直接跳到下一輪循環(huán),而在這一輪循環(huán)中,循環(huán)體內continue后面的語句也不會執(zhí)行。,for(var i:int=0;i5;i+) if(i=3)break; trace(“當前數字:“+i); ,for(var i:int=0;i5;i+) if(i=3)continue; trace(“當前數字:“+i); ,2019年7月11日1時28分,Flash 動畫設計與制作,37,ActionScript 3 流程控制,選擇分支判斷switch,switch(值或表達式) case 值或表達式1:語句1;break; case 值或表達式2:語句2;break; case 值或表達式3:語句3;break; defalt: 語句4; ,2019年7月11日1時28分,Flash 動畫設計與制作,38,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“);,2019年7月11日1時28分,Flash 動畫設計與制作,39,ActionScript 3中的函數,函數:執(zhí)行特定任務并可以在程序中重用的代碼塊。 兩類:方法;函數閉包 兩種定義方式:函數語句聲明法;函數表達式聲明法,2019年7月11日1時28分,Flash 動畫設計與制作,40,ActionScript 3中的函數,參數: 按值傳入參數:參數對象會復制一個副本供函數內部操作,參數對象本身不會受影響 按引用來傳入參數:不復制副本,函數內操作參數對象的引用會改變參數對象的狀態(tài)。 Action Script3中,所有的參數都是按引用傳入的。 基元數據類型是不變對象,傳引用和傳值的效果一樣。,2019年7月11日1時28分,Flash 動畫設計與制作,41,ActionScript 3中的函數,范例:,function test(valuePara:int,referencePara:Array):void valuePara=100; referencePara.Push(100); var a:int=5 var b:Array=1,2,3; test(a,b); trace(a); trace(b);,輸出:5, 輸出:1,2,3,100,2019年7月11日1時28分,Flash 動畫設計與制作,42,Ac

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論