自带的Screen.width

一般情况可以使用Screen.width来获取现在的屏幕宽度

UnityEngine.Screen.width

但是如果我们在开发的时候使用了Canvas Scaler来控制在各种分辨率保证UI的比例时使用Screen.width得到的宽度会和我们实际的宽度有差别。、

测试

设置Canvas Scaler和设置一个分辨率



从Scene窗口我们看到它的实际宽度只有1625并不是分辨率的2340

我们用简单的脚本控制一下方块的位置

  void Start(){RectTransform rect = this.GetComponent<RectTransform>();rect.anchoredPosition = new Vector2(-Screen.width,0);Debug.Log(Screen.width);}


出来的结果时2340并不是1625

得到正确的宽度,unity宽度的变化其实时按照屏幕的比值来计算的比如1334750是16:9的屏幕,而23401080是19.5:9的屏幕,所以如果是宽度分辨率位2340时它的宽度应该为1334*(19.5/16),下面是代码具体实现。

RectTransform rect = this.GetComponent<RectTransform>();//(Screen.height / 750):在16:9的情况下高度应该放大多少倍float Realwidth = (Screen.width / ((Screen.height / 750) * 1334)) * 1334;rect.anchoredPosition = new Vector2(-Realwidth,0);Debug.Log(Realwidth);

最后

这是前些天在适配不同分辨率手机的时候发现的一个有趣的小问题,当时也是找了很久发现并没有这方面的文章,所以今天就来记录一下

Unity得到屏幕宽度相关推荐

  1. Unity UGUI屏幕自适应

    转载http://blog.csdn.net/lyh916/article/details/50865541 参考链接: http://www.jianshu.com/p/96fd1fbe8409 h ...

  2. Unity 3D 屏幕适配全方面解析!

    转载自 https://www.jianshu.com/p/95cb4621206e 1.游戏屏幕适配 屏幕适配是为了让我们的项目能够跑在各种电子设备上(手机,平板,电脑) 那么了解是适配之前首先要了 ...

  3. html屏幕宽度一体式下拉菜单怎么做_针对白屏埋点,我是这样做的

    前言 "白屏",我作为一个切图切到手的切图崽,听运营那边反馈真不少了:有时一大早的就嚷嚷着:"那个切图崽,我们的产品又白屏啦.":此时,我心中是"WD ...

  4. Android ImageView图片代码实现按屏幕宽度等比例缩放

    /*** 设置图片根据屏幕宽度进行等比例缩放* @param imageView*/public static void setImageMatchScreenWidth(ImageView imag ...

  5. css --- 使用媒体查询当屏幕宽度小于某个值时,隐藏掉某个类

    Bootstrap提供了一个封装好的类: .hidden-xs: 当屏幕宽度<768px时隐藏 .hidden-sm: 当屏幕768px <= 宽度<992px时隐藏 .hidden ...

  6. 移动页面自适应手机屏幕宽度HTML5开发

    网上关于这方面的文章有很多,重复的东西本文不再赘述,仅提供思路,并解释一些其他文章讲述模糊的地方. 1.使用meta标签,这也是普遍使用的方法,理论上讲使用这个标签是可以适应所有尺寸的屏幕的,但是各设 ...

  7. 手机网页宽度自动适应屏幕宽度的方…

    方法一: <</SPAN>meta name="viewport" content="width=device-width, initial-scale ...

  8. 自动轮播图html代码适应手机,JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)...

    1.本文使用js+jQuery实现轮播图,需要引用jquery包,另种实现分别是animate实现自适应的轮播,以及transform平滑轮播(在注释代码中). 2.代码中的图片大家自己更换就可以了, ...

  9. C#如何获得屏幕宽度和高度

    Rectangle ScreenArea = System.Windows.Forms.Screen.GetWorkingArea(this); int width1 = ScreenArea.Wid ...

最新文章

  1. 用python pandas按块读取超大csv/txt
  2. 2048游戏的python实现
  3. 数据采集与网站统计实现全过程
  4. python 画树 递归_python递归函数绘制分形树的方法
  5. session一致性架构设计
  6. android 65536 gradle,如何防止在Android Gradle中使用Multi-dex
  7. 2字节取值范围_高中数学:构造不等式,解析几何范围题的有效解法
  8. centos7赋予全部权限_终结CentOS 7+Snort2.9+BASE 安装
  9. Leetcode题目:Merge Sorted Array
  10. php精准函数,PHP常用函数大全
  11. linux cpp建立文件夹,Linux小知识之CMake创建工程的一般流程
  12. 在CSDN开通博客专栏后如何发布文章及改进建议(图文)
  13. 蓝屏dump分析教程,附分析工具WinDbg
  14. 武汉大学研究生院计算机导师,求武汉大学计算机学院研究生导师信息
  15. 手机网络链接不上了怎么办
  16. 沟通的法宝!三季人法则
  17. 简单的 C/C++ 项目自动化构建--Xmake
  18. ENFJ型的人:什么样的人很适合人工智能方向
  19. ORACLE创建一个‘数据库’
  20. 新锐任务宝推广渠道推荐

热门文章

  1. Flask05_ORM单表
  2. 宿舍路由器设置傻瓜教程
  3. 09Apache POI学习笔记
  4. 集合之比较接口器+Map家族的HashMap+LinkedHashMap+Hashtable+ConcurrentHashMap
  5. Spring Boot整合MyBatis框架(XML文件版)
  6. sybase 珍藏(二)
  7. Ps如何将图片人物素描画
  8. CentOS 7 中 pptpd安装
  9. 【正点原子FPGA连载】 第二十章 LCD触摸屏实验摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0
  10. MATLAB绘制三维曲面图和等高线 绘图(2)