標籤雲

搜尋此網誌

2010/01/19

Gaia Framework - API 簡易說明

這幾天把 Gaia API 的官方文件稍微翻譯一下
以下大致整理 Gaia Framework API 方法(AS3)

goto(branch:String, flow:String = null):void
呼叫goto方法前往網站的分支(branch),如果該分支不存在會找到最近的
如果傳入的分支層級超過 site.xml 裡的架構,Gaia會記住該 branch 字串並發出 deeplink 事件,可用 getDeeplink() 得出這種 branch 字串。
第二個參數 flow 的值為 Gaia.NORMAL, Gaia.PRELOAD, and Gaia.REVERSE
例:
Gaia.api.goto("index/nav/people/friends");
Gaia.api.goto(Pages.HOME); //前往"index/nav/home",建議使用這種方式,這樣若架構變更也不會有影響

getPage(branch:String):IPageAsset
傳入branch字串,回傳PageAsset,若字串不是有效的id則回傳null可利用它得到PageAsset物件進而利用content屬性對頁面的成員做操控(看來是擴充自 Loader);PageAsset還有一個屬性children:Object可用來存取其下層物件
例:
Gaia.api.getPage("index/nav/home").content.myProp = value;
Gaia.api.getPage("index/nav/home").content.myFunc();
Gaia.api.getPage("index/nav/home").content.MC_Movieclip.x = 10;

getDepthContainer(depth:String):Sprite
回傳 Sprite 或 MovieClip 深度容器。必須傳入dapth常數。(Gaia.TOP, Gaia.MIDDLE, Gaia.BOTTOM, Gaia.PRELOADER)
例:
var top:Sprite = getDepthContainer(Gaia.TOP);
getDeeplink():String 從GaiaSWFAddress類別回傳超出site.xml領域的深層鏈結。
getSiteTitle():String
setSiteTitle(value:String):void
回傳/設定 該網站的 title 屬性值(包含 %PAGE% 標記)。

getValidBranch(branch:String):String 把傳入 branch 字串轉為有效branch字串
getCurrentBranch():String 回傳目前branch。
setDelimiter(value:String):void 設定網站的分隔符號。完成後需呼叫refreshContextMenu()把ContextMenu更新。
getSiteTree():PageAsset 傳回index頁的PageAsset實體。
getMenuArray():Array 回傳site.xm中所有menu="true"的頁面的陣列。(從上到下排列)
getSiteXML():XML 回傳原始site.xml

getContextMenu():ContextMenu
refreshContextMenu():void

getPreloader():IMovieClip 回傳preloader。可以用它來呼叫自訂方法、重新定位等。
setPreloader(asset:MovieClipAsset):Void 用已載入的 MovieClipAsset 覆蓋preloader。不傳參數呼叫時則恢復預設。
getAssetPreloader():IMovieClip
getAssetPreloader():IMovieClip

getDefaultFlow():String
setDefaultFlow(flow:String):Void
回傳/設定網站的預設flow。值為 Gaia.NORMAL, Gaia.PRELOAD, Gaia.REVERSE 或 Gaia.CROSS。

Gaia.api.addAssets(nodes:XMLList, page:IPageAsset):void 在runtime為頁面添加外部動態assets 。

getWidth():int
getHeight ():int
回傳stage原始 寬/高

getSitePosition():Object 以Object型態回傳目前Site View的x, y位置。對於要網站置中時有用。
setLoadTimeout(value:int):void 調整Gaia在載入branch時的容許等待時間,以毫秒為單位,預設值為10000。
setPreloaderDelay(value:int):void preloader呼叫transitionIn()的延遲時間(防止從快取載入時,preloader先跑出來)。預設150毫秒,可傳入的最小值為1。

setGlobalVolume(value:Number, duration:Number = 0; onComplete:Function = null):void 設定整個網站的全域數值。如果有傳入duration參數,它會在指定時間內漸變到該數值。如果有傳入onComplete參數,會在漸變完成後呼叫該function。
getGlobalVolume():Number 回傳目前全域數值。

getAvailableFonts():Array 回傳使用Runtime Font Loading成功註冊的所有字體類別名稱的陣列。
getFontName(className:String):String


SWFAddress Proxy方法

back():Void
forward():Void
getTitle():String
setTitle(title:String):Void
href(url:String, target:String):Void
popup(url:String, name:String, options:String, handler:String):Void
setHistory(b:Boolean):Void 除非你在site.xml的site節點設定history="false",否則預設是開啟。
getHistory():Boolean
setTracker(s:String):Void 設定瀏覽追蹤函數。預設值為'urchinTracker'。
getTracker():String
getBaseURL():String

1 則留言:

阿Wii 提到...

hi~這幾天用gaia試作一些網站的功能,基本功能大概都搞定了,也才慢慢知道在官網所說的「不會改變設計者的原本流程」的確是真的。這真是個太可怕的東西了,竟然可以把邏輯性的骨架問題跟設計很漂亮的拆開。呵!