博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NGUI3.7的自适应问题
阅读量:5241 次
发布时间:2019-06-14

本文共 1182 字,大约阅读时间需要 3 分钟。

以下是官方文档的一些介绍:

http://www.tasharen.com/forum/index.php?topic=6710.0

UIRoot 的Scaling Style有3种。

1: Flexible 表示你的UI永远是像素精度的。比如100*100 在任何分辨率下都是100*100,不会放大,缩小。所以在高分辨率下,就显的小,在低分辨率下,就显得大。
(理想的情况下是在PC下使用)

2: constrained和Flexiable 完全相反。如果一张100*100的图占据了25%的屏幕在1920*1080下。

那么在1280*720下它也会占据25%。
content后面的勾表示是选择 正好合适(Fit) 还是 占满屏幕。可以参照一下你的电脑的桌面背景。当你使用Fit的时候,在屏幕上这个背景图总是全部可见的,当使用fill(填充)时,将会全部充满屏幕并且保证它的宽高比(aspect ratio)。这里也是一样。

3:ConstrainedOnMobiles是以上两者的结合。在发布桌面应用中相当于

flexible,在移动平台中相当于Constrained。

如果选择了Flexible,那么要设置最小和最大高度。用来保证你的屏幕尺寸在正常值之内。比如:如果最小为720,那么在800*600分辨率下,你的UI将显示 将和 设置Constrained并且content height是720 一样。也就是说当小于720时,当做720来处理。

shrink Potrint UI 用来在屏幕竖着的时候调整你的UI大小。

 

普通的UI可以直接用anchor固定住,比如以下的左上和右上。

为了在对话时显示3D的模型,只需在同一层即可。使用Flexible时,可能会出现下图所示的遮挡情况。

所以采用的是Constrained。这里我将content width 和height 设置为1080p,最大分辨率。

在对3D模型进行左右固定时,不采用直接的添加UIAnchor(legacy,作者不建议使用),分辨率变小时会出现下图所示的情况,即相互靠近。

所以考虑添加widget container并且将需要显示的模型置于container下。container中设置anchor。
另外需要注意的是,在模型Instantiate时先加入到parent下,再改变localposition。另外localscale是在主hierarchy下的scale变化。

效果如下图:

分辨率依次为640*360;960*540;1024*768;1280*720

以上的UI适用锚点,并没有考虑到占据一行或者一整列的情况。以后将会讨论(考虑适用配置文件去做)。

 

转载于:https://www.cnblogs.com/binpan/p/4303804.html

你可能感兴趣的文章
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
查看>>
细说php(二) 变量和常量
查看>>
iOS开发网络篇之Web Service和XML数据解析
查看>>
个人寒假作业项目《印象笔记》第一天
查看>>
java 常用命令
查看>>
ZOJ 1666 G-Square Coins
查看>>
CodeForces Round #545 Div.2
查看>>
卷积中的参数
查看>>
Linux中Zabbix4.0的搭建
查看>>
《LoadRunner没有告诉你的》之六——获取有效的性能需求
查看>>
51nod1076 (边双连通)
查看>>
Item 9: Avoid Conversion Operators in Your APIs(Effective C#)
查看>>
js去除空格
查看>>
学习Spring Boot:(二十八)Spring Security 权限认证
查看>>
IT学习神器——慕课网App获App Store、Android应用市场重磅推荐
查看>>
Linux网络状态工具ss命令使用详解
查看>>
深入浅出JavaScript(2)—ECMAScript
查看>>
编程珠玑第十一章----排序
查看>>
Face The Right Way POJ - 3276 (开关问题)
查看>>
STEP2——《数据分析:企业的贤内助》重点摘要笔记(六)——数据描述
查看>>