Laya 理论四

物理分辨率

硬件所支持的分辨率,以像素(px)为单位。 

以屏幕实际存在的像素:行数(高)*列数(宽)这样的数学表达方式体现出来。

游戏开发的屏幕适配

以屏幕宽(列)*屏幕高(行)(px)这样来体现。 

逻辑分辨率

软件所使用的分辨率

游戏的设计与适配全靠它

也是用乘法数学表达方式来体现

在web中,单位是CSS像素

关系

物理分辨率 = 逻辑分辨率 * 缩放因子

 设备像素比DPR

Device Pixel Ratio的缩写。指逻辑像素(CSS像素)与设备像素之间的比率。

影响CSS像素缩放的原因

1、DPR(Laya.Browser.pixelRatio)

2、用户自主缩放导致

需要:禁止用户缩放,强制使用DPR

物理宽高、逻辑宽高、画布宽高

逻辑宽高*DPR~=物理宽高

画布宽高尽可能与物理宽高一致,以较少拉伸。

从引擎API中获取

逻辑宽Laya.Browser.clientWidth

逻辑高Laya.Browser.clientHeight

物理宽Laya.Browser.width

物理高Laya.Browser.height

设计宽高

开发者在设计产品时采用的宽高(一般:750*1334/750*1624)

选择时使用物理分辨率

Laya设置:项目设置/设计宽度+设计高度

适配宽高

适配规则改变后的可显示宽高,通过viewport,DPR缩放前的宽高

 舞台宽高

LayaAir引擎的stage宽高

只有舞台全屏,才能真正做到全屏适配

full、fixedwidth、fixedheight、fixedauto的适配模式下,stage全屏覆盖

锯齿

像素斜向连接产生锯齿。

引擎内置抗锯齿(弱化锯齿)

init()前,

Config.isAntialias = true;

 抗锯齿失效原因:

1、Camera HDR开启时(关闭:this.camera.enableHDR = false;)

2、后期处理管线的BloomEffect泛光效果

画布最佳状态

屏幕适配模式full,使用视网膜画布模式

开启视网膜画布模式

init()前,

init()后,

 

动态控制开启和关闭

scaleMode、width、height、alignH、alignV

通过引擎的setScreenSize,让useRetinalCanvas模式生效

开启视网膜画布模式的利弊

弊:性能

利:减弱锯齿,设计分辨率低也可以高清、最佳效果的最优性能画布方案、让3D适配更简单

最容易理解的屏幕适配模式

其它的屏幕适配模式

设置

项目设置/场景适配模式

检测手机屏幕的状态

物理宽/物理高:小于1的是竖屏,否则是横屏

自动横屏:horizontal

表现:游戏水平方向,始终与屏幕最短边保持垂直

原理:检测到手机竖屏状态,画布旋转90度(注意:自动横屏的只是画布)

自动竖屏:vertical

表现:游戏水平方向,始终与屏幕最长的一边保持垂直

原理:检测到手机竖屏状态,画布旋转-90度

默认值:none

表现:游戏水平方向始终与屏幕高保持垂直

原理:不作改变

设置:

项目设置/场景横竖屏

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值