古詩詞大全網 - 成語用法 - Laya屏幕適配及尺寸屬性

Laya屏幕適配及尺寸屬性

2.Laya.Stage

3.html canvas

下面來做個測試

說明:因為Laya.init(1136, 640, Laya.WebGL);所以stage.width,height就是這個寬高。然後當前是在IPAD屏幕下,因為用了SCALE_SHOWALL模式,畫面上下端出現了白條。所以能看到Browser.height 是比html canvas height 要高壹些。然後切換到IPHONE5屏幕時,發現這三者是壹致的。

先看壹下官方例子中的舞臺尺寸和矩形位置大小

在壹個sprite中,以0,0為中心,繪制了200,200大小的矩形,然後添加到舞臺中心。舞臺初始化大小是550,400。

那麽在chrome中運行例子,按F12後,切換手機尺寸,通過觀察layaCanvas的width和height,就能看到不同模式下的區別(下面以豎屏為例,橫屏同樣規則)

Laya.stage.scaleMode = Stage.SCALE_NOSCALE;

應用保持設計寬高不變,不縮放不變型,stage的寬高等於設計寬高。

整個應用程序的大小固定,因此,即使播放器窗口的大小更改,它也會保持不變。如果播放器窗口比內容小,則可能進行壹些裁切。

測試結果:

layaCanvas的width和height就沒變過,壹直是550,400。屏幕小時會出現裁切,至於矩形,則壹直保持在中央。

Laya.stage.scaleMode = Stage.SCALE_SHOWALL;

應用顯示全部內容,按照最小比率縮放,等比縮放不變型,壹邊可能會留空白,stage的寬高等於設計寬高

整個應用程序在指定區域中可見,且不發生扭曲,同時保持應用程序的原始高寬比。應用程序的兩側可能會顯示邊框。

測試結果:

layaCanvas的width和height壹直根據屏幕變化。比如IPHONE6的375,667尺寸下,寬度就變成最大值375,而高度因為要保持550,440的比例,也等比例變成273了。

這就導致豎屏模式下,canvas下面會出現很多空白邊框

應用根據屏幕大小鋪滿全屏,非等比縮放會變型,stage的寬高等於設計寬高。

整個應用程序在指定區域中可見,但不嘗試保持原始高寬比。可能會發生扭曲,應用程序可能會拉伸或壓縮顯示。

測試結果:

layaCanvas的width和height沒變過,壹直是550,400。但是矩形已經變形了,切換尺寸時,transform:matrix壹直在變化,應該是直接拉伸了

應用按照最大比率縮放顯示,寬或高方向會顯示壹部分,等比縮放不變型,stage的寬高等於設計寬高。

整個應用程序填滿指定區域,不發生扭曲,但有可能進行壹些裁切,同時保持應用程序的原始高寬比。

測試結果:

layaCanvas的width和height沒變過,壹直是550,400。邊緣被填滿了,不過矩形被裁切。

綜上,壹般為了顯示全部內容,我們還是常用SCALE_SHOWALL這種模式。

screenMode可以改變橫屏豎屏

橫向對齊分為左中右,縱向對齊分為上中下。

這個經過測試,layaCanvas的width和height也沒變過,matrix壹直在變。

END