美文网首页
LayaAir屏幕适配

LayaAir屏幕适配

作者: 黑姐姐 | 来源:发表于2018-04-11 01:06 被阅读0次

LayaAir屏幕适配

官方教程链接:LayaAir实战开发11-屏幕适配

屏幕适配

随着移动端设备(手机、平板、电视)的增多,设备碎片化、屏幕碎片化的程度也在不断增加,而我们今天要探讨的,则是对游戏显示影响比较大的屏幕碎片化。

为了更深入的了解屏幕适配,我们先从Iphone屏幕分辨率发展说起:

在早先的移动设备中,屏幕像素都比较低,如 Iphone3,它的分辨率为320480,在Iphone3上,一个像素等于一个屏幕物理像素。后来随着设备屏幕像素密度越来越高,从iphone4开始,苹果推出了Retina屏,分辨率变成了640960,提高一倍,但屏幕尺寸却没变化,这就意味着同样大小的屏幕上,像素却多了一倍,这提高的就是devicePixelRatio,其他安卓移动设备也类似与此。

所以我们得出一个公式: 物理分辨率=像素分辨率*devicePixelRatio;

引擎对上述两种分辨率做了封装。

设备像素分辨率:Laya.Browser.clientWidth,Laya.Browser.clientHeight;

设备物理分辨率:Laya.Browser.width,Laya.Browser.height;

像素比:Laya.Browser.pixelRatio;

默认从浏览器获得的clientWidth不是像素分辨率,而是经过缩放过的分辨率,想要获得正确的分辨率,需要在html页面内设置viewport meta标签,设置content的值为"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"。

<meta name='viewport' content='width=device-width,
initial-scale=1.0,minimum-scale=1.0,
maximum-scale=1.0,user-scalable=no'/>

在LayaAir引擎内,如果页面未设置过viewport标签,则引擎会自动生成一个,以确保获取的正确宽高。

适配模式

LayaAir提供了多种适配模式供使用者选择,可以通过scaleMode属性进行设置,scaleMode有如下可选值:

noscale:应用保持设计宽高不变,不缩放不变形,stage的宽高等于设计宽高。

exactfit:应用根据屏幕大小铺满全屏,非等比缩放会变形,stage的宽高等于设计宽高。

showall:应用显示全部内容,按照最小比率缩放,等比缩放不变形,一边可能会留空白,stage的宽高等于设计宽高。

noborder:应用按照最大比率缩放显示,宽或高方向会显示一部分,等比缩放不变性,stage的宽高等于设计宽高。

full:应用保持设计宽高不变,不缩放不变形,stage的宽高等于屏幕宽高。

fixedwidth:应用保持设计宽度不变,高度根据屏幕比缩放,stage的宽度等于设计宽度,高度根据屏幕比率大小而变化。

fixedheight:应用保持设计高度不变,宽度根据屏幕比缩放,stage的高度等于设计宽度,宽度根据屏幕比率大小而变化。

比较常用的缩放模式有,showall,full,fixedwidth,fixedheight,具体用哪种适配模式,需要大家自己来衡量。

对齐模式

不仅可以设置非全屏缩放模式,比如noscale,showall,则还可以使用对齐模式进行对齐。

alignH:水平对齐方式,有"left","center","right"三种值可选。

alignV:垂直对齐方式,有"top","middle","bottom"三种值可选。

横竖屏设置

通过screenMode属性,可以设置游戏的横竖屏,在手机浏览器发生旋转后,还能正确的显示,有以下值可以选择。

"none" :不更改屏幕。

"horizontal" :自动横屏。

"vertical" :自动竖屏。

相关文章

  • LayaAir屏幕适配

    LayaAir屏幕适配 官方教程链接:LayaAir实战开发11-屏幕适配 屏幕适配 随着移动端设备(手机、平板、...

  • 屏幕适配总结

    屏幕适配总结 为什么要针对屏幕做适配 drawable目录常见问题 : 屏幕适配方案:

  • Android屏幕适配-应用篇

    目录 Android屏幕适配-基础篇Android屏幕适配-应用篇 Android屏幕适配最主要的原因:  是由于...

  • 屏幕适配的那些坑

    屏幕适配的那些坑 屏幕适配的那些坑

  • she

    1.适配的分类 系统适配 屏幕适配 1.1屏幕适配历史 1.1.1autoresizing 去掉auto layo...

  • Android屏幕适配

    一. 为什么要适配屏幕 android屏幕大小、屏幕密度碎片化严重 二. 怎么样适配屏幕 图片适配 应用图标提供不...

  • 屏幕适配AutoResizing

    适配器简介 AutoResizing 屏幕适配的历史 -iPhonestyGS\IPhone4 -没有屏幕适配可言...

  • css media 适配屏幕宽度

    H5 屏幕适配 css media 适配屏幕宽度;js 通过 适配获取屏幕宽度,来执行对应方法; max-widt...

  • 关于iOS适配的一点事

    屏幕适配及文字适配

  • Android屏幕适配(4)常见:第三种

    前言:Android屏幕适配(1)基础知识篇Android屏幕适配(2)常见:第一种Android屏幕适配(3)常...

网友评论

      本文标题:LayaAir屏幕适配

      本文链接:https://www.haomeiwen.com/subject/syiohftx.html