RatioUtil這類別主要是一些有關比例縮放的方法,全版縮放會用到裡面的一個靜態方法scaleToFill();先看看全版縮放會遇到的問題
下圖的可愛女孩是依當stage resize時依寬度來縮放:
但當您把stage的寬度拉小時,圖片的高度會不夠,下方會出現穿幫情況:
我們換成當stage resize時依高度來縮放時,會遇到寬度不夠的問題:
這時問題就來了,需要寫個判斷式來判斷當您的圖片高度不夠時,依高作縮放,當您圖片寬度不夠時,依寬來作縮放,這時可以直接用scaleToFill()這個方法,快速又放便如何使用:
/** size:依範例為可愛小女孩的Rectangle。 bounds: 依範例為stage的Rectangle。 snapToPixel: 是否取整數,預設是true。 回傳回來的類型為Rectangle */ static function scaleToFill(size:Rectangle, bounds:Rectangle, snapToPixel:Boolean = true):Rectangle var size:Rectangle = new Rectangle(0, 0, girl_mc.width, girl_mc.height); var bounds:Rectangle = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight); var _Rectangle:Rectangle = RatioUtil.scaleToFill(size, bounds); girl_mc.width = _Rectangle.width; girl_mc.scaleY = girl_mc.scaleX;
範例下載:請按此