怎样调整屏幕高宽比

怎样调整屏幕高宽比,第1张

木有看懂你的问题……宽高比是什么意思?

你说的是屏幕分辨率么?调整分辨率的话,桌面点右键,直接有调整分辨率选项。现在的都是液晶屏幕,有数字接口的话会默认到显示器最佳分辨率。你也可以自己选择,普屏宽高比为4:3,宽屏为6:9或6:10,多数情况是这样的。

如果你的右键菜单被修改过,点开始进入控制面板外观和个性化下也有调整分辨率的选项。

具体的宽高比,你根据分辨率自己算一下就有了

另外,如果你问的是桌面图标的大小问题……按住Ctrl,推拉滚轮,可以放大缩小。

PS,win7中你按住win键(Ctrl和Alt中间那个)再按Tab键,会有立体翻页的效果。

1、js中获取当前屏幕宽度方法如下:

网页可见区域宽: documentbodyclientWidth

网页可见区域高: documentbodyclientHeight

网页可见区域宽: documentbodyoffsetWidth (包括边线的宽)

网页可见区域高: documentbodyoffsetHeight (包括边线的高)

网页正文全文宽: documentbodyscrollWidth

网页正文全文高: documentbodyscrollHeight

网页被卷去的高: documentbodyscrollTop

网页被卷去的左: documentbodyscrollLeft

网页正文部分上: windowscreenTop

网页正文部分左: windowscreenLeft

屏幕分辨率的高: windowscreenheight

屏幕分辨率的宽: windowscreenwidth

屏幕可用工作区高度: windowscreenavailHeight

屏幕可用工作区宽度: windowscreenavailWidth

2、js简介

js,是JavaScript的缩写,是一种直译式脚本语言,一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

avaScript是的源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。直译语言的弱点是安全性较差,而且在JavaScript中,如果一条运行不了,那么下面的语言也无法运行。

每台手机介绍里的分辨率即为物理像素

如:iphone X的分辨率 24361125

在浏览器中获取物理像素 = windowscreenwidthwindowdevicePixelRatio

通过 windowscreenwidth 获取

比如在iphoneX上,用3个像素点来表示1个像素点,所以折算后的独立像 素尺寸为 812375,独立像素一遍都是可以通过系统或者软件来变更的。

windowdevicePixelRatio = 物理像素 / 设备独立像素

iphoneX的devicePixelRatio即为 2436/812 = 3

设备像素转换比,也就是用多少个像素来表示1个像素的比例

每英寸的物理像素数,在我们实际开发中没什么用。

屏幕宽高比=物理像素宽÷物理像素高

首先你要知道这款显示器是不是16:9的宽屏机。

从你的问题得知,显示器是19201080的物理分辨率,那么一般来说是16:9的屏。只是据我所知,30寸以上的液晶屏尺寸一般为:32寸,37寸,40寸,42寸,46寸,47寸,52寸,57寸,65寸,70寸,82寸等。

如果是16:9的屏,根据勾股定理是算出宽:高:对角线为16:9:1836 然后根据对角线是34英寸,也就是34254cm=8636cm

就可以算出屏幕的显示宽度和高度。

恭喜你,你的方法是正确的。

1、游戏屏幕适配

屏幕适配是为了让我们的项目能够跑在各种电子设备上(手机,平板,电脑)

那么了解是适配之前首先要了解两个知识点:

1-1、什么是像素

单位面积中构成图像的点的个数。

特点:单位面积内的像素越多,分辨率越高,图像的效果就越好。

1-2、什么是分辨率?

分辨率可以从显示分辨率与图像分辨率两个方向来分类。

示分辨率(屏幕分辨率)是屏幕图像的精密度,是指显示器所能显示的像素有多少分辨率的单位有:(dpi点每英寸)、lpi(线每英寸)和ppi(像素每英寸)。

特点:

图像的分辨率越高,所包含的像素就越多,图像就越清晰,印刷的质量也就越好。

同时,它也会增加文件占用的存储空间。

1-3、移动设备分辨率 –以iphone 为例

Paste_Imagepng

2、什么是适配

什么是适配?

适应、兼容各种不同的情况

游戏开发中,适配的常见种类

¤系统适配

针对不同版本的 *** 作系统进行适配,例如Unity3D 54系统

¤屏幕适配

针对不同大小的屏幕尺寸进行适配,例如Iphone5s,iphone7

iPhone的尺寸

35inch、40inch、47inch、55inch

iPad的尺寸

79inch、97inch

屏幕方向

竖屏

横屏

3、Unity3D 中的屏幕分辨

3-1

屏幕的宽高比(Aspect Ratio) = 屏幕宽度/屏幕高度

3-2

Unity2D中摄像机镜头的尺寸决定了我们实际看到游戏内容的多少,在编辑器中我们可以通过调整摄像机Camera的orthographicSize属性值来调整摄像机的大小

Paste_Imagepng

注:Unity3D中这个比例的默认值是100,即100像素等于1单位。

如果我们的游戏屏幕有640像素高,那么实际换算成单位高度则是64个单位,

当我们摄像机的orthographicSize值是32时,摄像机大小刚好与屏幕大小相等

4、Unity3D中的屏幕适配设置

4-1:像素适配设置(固定分辨率)

Paste_Imagepng

2、屏幕宽高比

屏幕的宽高比Aspect Ratio = 屏幕宽度/屏幕高度

Paste_Imagepng

5、Unity3D中的摄像机设置

Unity编辑器中只能直接调整摄像机的高度,那摄像机的宽度是如何确定的呢?

答案就是我们最前面提到的屏幕宽高比。Unity会根据当前屏幕实际的宽高比和摄像机的orthographicSize值来计算出摄像机的宽度值,即:

摄像机实际宽度 = 摄像机orthographicSize 2 屏幕宽高比

即是

摄像机实际宽度 = 摄像机高度 屏幕宽高比

我举个例子说明一下,iPhone4的屏幕像素为640960,宽高比为2:3,假设Pixels To Units值为100,那么如果设摄像机高度size值为48,那么摄像机实际宽度按照公式算出64,刚好就是屏幕的单位宽度。

6、Unity3D中的像素比设置

Paste_Imagepng

6、Unity3D:关于适配的一些UI问题解决

这里就是重中之重,也是坑点较多的地方

调整相机为设计尺寸,添加Canvas到场景中进行UI设计,但是Canvas默认大小和相机并不重合。

怎么办?

6-1:办法1:

调整Canvas的Render Mode属性为Screen Space - Camera:

将映射游戏内容的Camera拖入Render Camera中,下一个属性Plane Distance表示UI

与Camera的在Z轴距离(其实就是变相反映了UI的Z轴位置)。

接着在Canvas Scaler属性里将Ui Scale Mode属性设置为Scale With Screen Size,

表示Canvas会根据屏幕比例缩放。

下面的Reference Resolution,表示UI宽和高一半的大小。例如设计尺寸为640x960,

则x应为640 / 2 = 320,宽应为960 / 2 = 480。

下面的Screen Match Mode属性选中Match Width Or Height,表示采用宽度(上文有提到过)

或高度(Unity自带适配方式)适配。然后Match调整为0或1,0表示完全宽度适配,

1表示完全高度适配,其他值表示介于两者之间采用比例适配

Paste_Imagepng

6-2:办法2:

调整Canvas的Render Mode属性为World Space

1、将Event Camera设置为映射游戏内容的Camera。

2、然后调整Rect Transform组件中的Width和Height为设计尺寸的宽和高,同时将Scale属性的X和Y都调整为001(对应unity2d默认情况下像素Pixels与引擎单位Unit对应比例100)。这时,Canvas的宽高正好与摄像机相同。

这两种方法都可以将UI调整为与设计尺寸一致,并且在编辑器中运行与真机中运行效果保持一致。

Paste_Imagepng

6-3:办法3:

给摄像机挂下图脚本就可以搞定比例问题:

Paste_Imagepng

6-4:设定好就如下图所示

Paste_Imagepng

解决屏幕分辨率适配的问题,其实就是解决如何让游戏摄像机尺寸限定在给定范围的问题。

usingSystemCollections;usingSystemCollectionsGeneric;usingUnityEngine;publicclassLeoPlayerSetting:MonoBehaviour {voidUpdate(){//  按ESC退出全屏  if(InputGetKey(KeyCodeEscape))        {            ScreenfullScreen =false;//退出全屏          }//设置76801080的全屏  if(InputGetKey(KeyCodeB))        {            ScreenSetResolution(1920,1080,true);        }if(InputGetKey(KeyCodeC))        {            ScreenSetResolution(Screenwidth, Screenheight,true);        }//按A全屏  if(InputGetKey(KeyCodeA))        {//获取设置当前屏幕分辩率  Resolution[] resolutions = Screenresolutions;//设置当前分辨率  ScreenSetResolution(resolutions[resolutionsLength -1]width, resolutions[resolutionsLength -1]height,true);            ScreenfullScreen =true;//设置成全屏,  }    }}

7、适配总结

1游戏有效内容,指游戏中一定需要完整显示在屏幕上的内容;

2游戏实际内容,指全部的游戏内容,包括有效内容和主要是为了适配多分辨率的或其他不重要的目的而增加的内容。

实际的分辨率适配问题与三个尺寸相关,他们分别是:摄像机尺寸,游戏内容尺寸(包括有效内容尺寸和无效内容尺寸)和实际屏幕尺寸。

8、了解游戏中的摄像机

相机(Camera)

是向玩家捕获和显示世界的设备。通过自定义和 *** 纵摄像机,

你可以使你的游戏表现得真正独特。您在场景中摄像机的数量不受限制。

他们可以以任何顺序设定放置在屏幕上的任何地方,或在屏幕的某些部分。

Paste_Imagepng

8-1、摄像机属性:

Paste_Imagepng

Clear Flags 清除标识

确定了屏幕哪些部分将被清除,方便多个摄像机画不同的游戏元素

Paste_Imagepng

Skybox 天空盒:这是默认设置。屏幕上的任何空的部分将显示当前相机的天空盒。

如果当前的相机没有设置天空盒,它会默认在渲染设置(Render Settings )选择天空盒

Solid Color 纯色

任何空部分,屏幕显示为当前相机的背景色。

Depth Only 仅深度

如果你想绘制一个玩家的q,又不让它内部环境被裁剪,你会设置深度为0的相机绘制环境,

和另一个深度为1的相机单独绘制武器。武器相机的清除标志(Clear Flags )应设置 为depth only。

Don't Clear 不清除

此模式不清除颜色或深度缓存。每一帧在下一帧结束后绘制,看上去像是涂抹(smear-looking)的效果。

这在游戏中不常用,最好是在自定义着色器(custom shader)上使用。

Rendering Path-渲染路径

定义什么绘制方法被用于相机的选项

Paste_Imagepng

Use Player Settings 使用玩家设置:在玩家设置(Player Settings)相机使用哪个渲染路径。

Vertex Lit 顶点光照 :所有被这个相机渲染的物体都将渲染成Vertex-Lit物体。

Forward 正向渲染:所有对象每材质渲染只渲染一次,和Unity 2x中的标准一样

Deferred 延迟照明:所有物体将在无光照的环境渲染一次,然后在渲染队列尾部将物体的光照一起渲染出来。

Traget Texture-目标纹理:

Paste_Imagepng

渲染纹理 (Render Texture)包含相机视图输出。这会使相机渲染在屏幕上的能力被禁止。

补充:Vertex Lit:顶点光照

这个Shader是Vertex-Lit,是最简单的Shader之一。这个Shader渲染代价是非常小的

所有照射在该物体上的光源通过一次光能传递渲染完成并且只计算顶点光源。

因为是Vertex-Lit,所以不会有任何基于像素渲染的效果,例如:Light Cookies,Normal Mapping

和Shadows。这个Shader对模型的细分同样更加敏感,假如在很靠近立方体的地方放置一个

点光源,并且应用这个Shader,这个光源只会在此角落进行计算

General shader performance 通常的着色器性能

Unlit This is just a texture, not affected by any lighting�不发光。这只是一个纹理,不被任何光照影响

VertexLit 顶点光照

Diffuse 漫反射

Normal mapped �法线贴图,比漫反射更昂贵:增加了一个或更多纹理(法线贴图)和几个着色器结构

Specular This adds specular highlight calculation �高光。这增加了特殊的高光计算

Normal Mapped Specular Again, this is a bit more expensive than Specular �高光法线贴图。这比高光更昂贵一点

Parallax Normal mapped This adds parallax normal-mapping calculation �视差法线贴图。这增加了视差法线贴图计算

Parallax Normal Mapped Specular�视差高光法线贴图。这增加了视差法线贴图和镜面高光计算

>

宽高比是指视频图像的宽度和高度之间的比率,计算公式为宽高比等于冠部高度除以平均直径乘以百分之百,传统影视的宽高比是4比3,宽屏幕**的宽高比是1、85比1,高清晰度电视是16比9,全景式格式**是2、35乘1,改变宽高比的方法有遮蔽屏幕和重叠画面;

分辨率可以从显示分辨率与图像分辨率两个方向来分类,显示分辨率是屏幕图像的精密度,是指显示器所能显示的像素有多少,由于屏幕上的点、线和面都是由像素组成,显示器可显示的像素越多,画面就越精细,同样的屏幕区域内能显示的信息也越多,所以分辨率是个非常

以上就是关于怎样调整屏幕高宽比全部的内容,包括:怎样调整屏幕高宽比、js中怎么获取当前屏幕宽度、screen.width 、devicePixelRatio、分辨率、宽高比等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9740700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存