搜尋部落格文章

2013年6月14日 星期五

[轉] 全屏利器! 介紹下gs的LiquidArea,LiquidStage,附帶AutoFitArea


LiquidArea,LiquidStage是一類,主要是用於當swf的舞台寬度發生變化時 ,舞台對象應該如何變化的策略。
 

舉個最常用的例子,比如有個LOGO,我們希望他一直顯示在動畫的右上角,但是當在不同寬度的顯示器、或是瀏覽器寬度被人為調整時,這個位置肯定會有不同。 

通常人工算法會使用onsize這樣的函數來進行重定位,但是gs的這個工具類,把這些常用定位功能進行了打包,並提供了強大的工具支持。 

我簡單翻譯一下LiquidStage官方簡介及我的理解,LiquidStage是調用舞台上各個物體的x/y坐標 ,以配合容器: 代碼為:var ls: LiquidStage = new LiquidStage(this.stage, 550, 400, 550, 400); 


  • 顯示對象無須位於root位置,由代碼可知,this.stage可以替換成別的容器mc;
  • 雖然被自動定位,但仍允許你用別的方式,對定位對象進行重定位; 
  • 可建立自己的定位體系(工具默認有一個九宮格位置,足夠用了); 
  • 改動位置時產生listeners偵聽; 
  • 不強制你對齊到左上角-這個我還不太理解 
  • 有一個控制區範圍,可選擇在這個範圍之外,不進行控制-----這實際就是上述代碼的四個數字參數的用法) 


LiquidArea則相對好理解得多,就是把舞台視為一個容器,定位對象應調整各物體的寬/高 ,以配合容器,一般應該是用來進行背景對象的定位。 
官方示例結合了以上兩種工具: http://www.greensock.com/as/LiquidStage/ 


AutoFitArea則更好理解了,他跟LiquidArea不同的是,LiquidArea的容器是舞台stage對象,而AutoFitArea是控制某個舞台中的容器對象,以達到改變容器中對象尺寸的目的。 AutoFitArea示例: http://www.greensock.com/autofitarea/ 



from: http://bbs.9ria.com/forum.php?mod=viewthread&tid=106400

沒有留言:

張貼留言