UGUI之CanvasScaler的正确用法
2015-07-23 11:25
645 查看
转载:http://icemark.cn/blog/?p=279
很多人都知道,Unity在移动设备上的自适应依靠的是组件本身的Anchors和Canvas上的CanvasScaler
但是很多人却不知道应该怎么正确的去设置CanvasScaler的各项属性,这里我简单的说一下,希望大家谨记!
默认的设置:
然后在移动设备上应该选择Scale With Screen Size:
重点说一下Reference Resolution和Match的设置:
Reference Resolution的尺寸由你拼UI时的尺寸决定,跟实际移动设备上的尺寸没有关系,引用我在群上一个很经典的栗子:
你在瘦身前首先得告诉医生你是胳膊粗还是腿粗 然后医生才能决定帮你瘦胳膊还是瘦腿。。。
然后Screen Match Mode设置为Match Width Or Height,
所以说,这里的尺寸只是为了告诉Unity你原始的UI尺寸,也就是你拼UI时的尺寸,然后Unity根据实际在移动设备上的尺寸来决定是帮你拉大还是缩小
而Math的设置呢,你只要记住横版游戏以高度缩放,竖版游戏按宽度缩放,所以得出以下结论:
假如我拼UI时的尺寸为960*640的横版游戏,那么我的设置就是:
有童鞋提到过Screen Match Mode可以使用Expand,但是经过测试发现,貌似在某些移动设备上会出现InputField响应区域偏离的Bug,
原因不明,所以建议使用Match Width Or Height。
很多人都知道,Unity在移动设备上的自适应依靠的是组件本身的Anchors和Canvas上的CanvasScaler
但是很多人却不知道应该怎么正确的去设置CanvasScaler的各项属性,这里我简单的说一下,希望大家谨记!
默认的设置:
然后在移动设备上应该选择Scale With Screen Size:
重点说一下Reference Resolution和Match的设置:
Reference Resolution的尺寸由你拼UI时的尺寸决定,跟实际移动设备上的尺寸没有关系,引用我在群上一个很经典的栗子:
你在瘦身前首先得告诉医生你是胳膊粗还是腿粗 然后医生才能决定帮你瘦胳膊还是瘦腿。。。
然后Screen Match Mode设置为Match Width Or Height,
所以说,这里的尺寸只是为了告诉Unity你原始的UI尺寸,也就是你拼UI时的尺寸,然后Unity根据实际在移动设备上的尺寸来决定是帮你拉大还是缩小
而Math的设置呢,你只要记住横版游戏以高度缩放,竖版游戏按宽度缩放,所以得出以下结论:
假如我拼UI时的尺寸为960*640的横版游戏,那么我的设置就是:
有童鞋提到过Screen Match Mode可以使用Expand,但是经过测试发现,貌似在某些移动设备上会出现InputField响应区域偏离的Bug,
原因不明,所以建议使用Match Width Or Height。
相关文章推荐
- 在 UIViewController 中手动增加 TableView 出现 Type 'SomeViewController' does not confirm to protocol 'UITableViewDataSource' 问题的解决办法
- performSegueWithIdentifier 不生效的解决办法
- easyui 动态选项卡
- POJ 3061 Subsequence(尺取法)
- HDU 5288 OO’s Sequence(2015多校联合)
- select option如果里面不写value值,默认提交<option></option>中间的值
- Codeforces Round #313 (Div. 2) A.B,C,D,E Currency System in Geraldion Gerald is into Art Gerald's Hexagon Equivalent Strings
- LinearLayout布局属性难点
- 1017. Queueing at Bank (25)
- android多分辨率多屏幕密度下UI适配方案
- Android提高(15)——第五章 解析Android中更新UI的几种方式
- ios上 更改 状态栏(UIStatusBar)的颜色,你值得一看、收藏
- UITableView 当滚动的时候会有多出的空白,去掉空白的方法
- AutoLayout 根据文字、图片自动计算 UITableViewCell 高度
- iOS7 UITableView Row Height Estimation
- Hdu 5288 OO’s Sequence 2015多小联赛A题
- 判断UITableView滚动是否到底
- UIAlertView 提示弹窗
- UIScrollView极限优化:两个UIImageView循环利用
- [工作积累] jboolean is neither JNI_TRUE nor JNI_FALSE