Action Script 使用介紹 第六組 張瀚之
大綱 介紹Flash MX 中Action Script的使用環境/流程 介紹Action Script的基本概念 介紹Action Script所提供的XML與Socket物件 實作Action Script的網路功能
Flash MX 中Action Script的使用環境/使用流程 使用模式介紹 時間軸 三種symbol…Movie Clip, Button, Graph 實際操作
Action Script的基本概念 變數: 格式 特點: 其他 var MyVariable; 變數的可見範圍: 1.function內 2.主時間軸或影片片段 3._global 此外可以利用物件階層來取得變數 _root _parent 其他 建立動態變數 set(“暫時名稱”,變數值)
Action Script的基本概念 資料與資料型態: String Number Math.E,Math.PI,….. var x=“string”; 物件可利用toString()與String()轉換為string (12.4).toString=String(12.4)“12.4”; Number x=1.2; Number(“29”)=29; Number(“string”)=NaN; // NaN: Not a Number parseInt(“1.34 HaHa”)=1; parseFlaot(“1.34 HaHa”)=1.34 Math.E,Math.PI,…..
Action Script的基本概念 資料與資料型態: Boolean null & undefined Array movieClip x=(typeof x ==“number”)? true:false; Typeof 會回傳:“number”, “string”,”boolean”,”object”,”array”,”function”,”movieclip”,”undefined”,”null” null & undefined Array MyArray=new Array(); for(prop in _root){ if(typeof _root[prop] == “movieclip” ) MyArray.push(_root[prop]); } MyyArray[0]._x=ooxx&&$$^^@@**…; movieClip Object
Action Script的基本概念 Operator 與常用的程式語言相同, 都包含有下列特殊識別字 new delete typeof instanceof object instanceof classConstructor super super(arg…) super.method_name(arg…)
Action Script的基本概念 條件判斷與迴圈 大部分都與c++相同;以下為特有的部分 for-in with for(prp in _root){ _root[prop]=ooxx….. } with with(Math){ random(); //Math.random() cos(); //Math.cos()
Action Script的基本概念 Function 格式 大量使用function pointer的方式實作callback function MyFunctionName(arg…){ Ooxx…… } 大量使用function pointer的方式實作callback argument:檢查所有的參數值(實作c裡的va_list) callee 與 caller 遞歸 var iteration=function(x){ if(x>1) return argument.callee(x-1)+ argument.callee(x-2); else return x; Iteration(10); //……. 基本資料call by value, array object 則call by reference 有巢狀函式(模擬private menber)
Action Script的常用內建function Stop(): 暫停撥放 gotoAndPlay(index), gotoAndStop(index) 將畫面跳到index所指定的frame getURL(path): 連向指定的路徑 Math
Action Script的基本概念 Array 特點: 1.可以以各種資料型態作為key,valude 值 2.Array大小自動改變 var MyArray=newArray(1,2,”String”,2.71878); MyArray[“someStringKey”]=….; 2.Array大小自動改變 var MyArray=newArray(); MyArray[100]=“前面的0~99已經產生了”; 3.同樣以delete進行array element記憶體釋放 delete MyArray[100]; 4.提供push(), pop(),shift(),unshift(),slice(),join()
Action Script的基本概念 Array 5. 提供reverse(),sort(), sertOn(function_pointer) Judgefunction(A,B){ return 1 if A is first return –1 if A is second return 0 if they’re the same } 6.作為存取物件的統一介面 Ex: _root.x _root[x]
Action Script的基本概念 物件與類別 特點; 1. 沒有class之identifier . 而是透過function(Constructor)建立物件 Insatance=new Class(va_list); 2.物件的menber vaiable宣告與使用還是一樣隨意.可以利用下面的方法取出所有物件參數 for( var property in Object){ Do something … } 3物件的menber function則透過特殊的prototype屬性建立 Constructor.prototypr.methodename=function; 4利用prototype具有繼承功能 Circle.prototypr=new Shape(); 在Circle中super()即呼叫Shape() 5.因為array不具備型態檢查而可以實作多型,僅需提供同名function 6 提供 instanceof __proto__ comstructor
Action Script的基本概念 Movie Clip mainClip.attachMovie(Identifier,newName,depth); mainClip.duplicateMovieClip(target,newName,depth); mainClip.loadMovie(url,location) mainClip.unloadMovie(); mainClip.removeMovieClip(); 繪圖功能{lineTo,moveTo,beginFill,BEginGrdientFill…}
Action Script的事件處理 使用事件驅動模式 可以接受事件的物件和類別 一共有四種模型 Button Key LoadVars LocalConnection Mouse Selection SharedObject Sound Stage TecField XML XMLSocket
Action Script的事件處理 1 .Even Handler 藉由提供callback function 達到事件處理 Ex : //見Demo_EventHandler MyMoveClip.OnEnterFrame=moveDown; function moveDown(){ this._y+=5; }
Action Script的事件處理 2 .Even Listener 對某eventsource註冊,必須實作介面 Ex : AliceMovieClip.onRollOver=ooxx…; sourceMovieClip.addListener(AliceMovieClip);
Action Script的事件處理 3 .按鈕Event handler Ex: On(eventName){ Statements; }
Action Script的事件處理 4 .Movie Clip Event handler Ex: OnClipEvent(eventName){ Statements; }