Unity3d--屏幕适配

 1 using UnityEngine;
 2 using System.Collections;
 3
 4 public class CameraModify : MonoBehaviour {
 5
 6     /*
 7      * 屏幕适配
 8     */
 9
10     /// <summary>
11     /// 屏幕比例:宽度
12     /// </summary>
13     public int screenRatioX = 16;
14     /// <summary>
15     /// 屏幕比例:高度
16     /// </summary>
17     public int screenRatioY = 9;
18
19     void Start () {
20
21         //获取主摄像机
22         Camera ca = transform.GetComponent<Camera> ();
23
24         //获取屏幕的宽度
25         float xScreen = Screen.width;
26
27         //获取屏幕的高度
28         float yScreen = Screen.height;
29
30         //设置的显示比例 与 设备的显示比例 差值
31         float proportion = (screenRatioX / screenRatioY) - (xScreen / yScreen);
32
33         //当设置的比例值大于设备比例值
34         if (proportion > 0) {
35
36             //计算新的屏幕高度 屏幕的宽度 / 屏幕的宽度比例 * 屏蔽高度的比例
37             float yNow = (xScreen / screenRatioX) * screenRatioY;
38
39             //计算屏幕的高度变化比例 新的屏幕高度 / 初始的屏幕高度
40             float modifys = yNow / yScreen;
41
42             //设置主摄影机的 Viewport Rect, x = 0, y = (1 - 高度变化比例) / 2, w = 1, h = 高度变化比例
43             ca.rect = new Rect(0.0f, (1 - modifys) / 2, 1.0f, modifys);
44         }
45
46
47         //当设置的比例值小于设备比例值
48         if (proportion < 0) {
49             //计算新的屏幕宽度 屏幕的高度 / 屏幕的高度比例 * 屏幕宽度的比例
50             float xNow = (yScreen / screenRatioY) * screenRatioX;
51
52             //计算屏幕的宽度变化比例 新的屏幕宽度 / 初始的屏幕宽度
53             float modifys = xNow / xScreen;
54
55             //设置主摄影机的 Viewport Rect, x = (1 - 宽度变化比例) / 2, y = 0 , w = 宽度变化比例, h = 1
56             ca.rect = new Rect((1 - modifys) / 2, 0.0f, modifys, 1.0f);
57         }
58     }
59 }
时间: 2024-10-10 23:00:09

Unity3d--屏幕适配的相关文章

Unity 手机屏幕适配

////如有侵权 请联系我进行删除 email:[email protected] 1.游戏屏幕适配 屏幕适配是为了让我们的项目能够跑在各种电子设备上(手机,平板,电脑) 那么了解是适配之前首先要了解两个知识点: 1-1.什么是像素? 单位面积中构成图像的点的个数. 特点:单位面积内的像素越多,分辨率越高,图像的效果就越好. 1-2.什么是分辨率? 分辨率可以从显示分辨率与图像分辨率两个方向来分类. 示分辨率(屏幕分辨率)是屏幕图像的精密度,是指显示器所能显示的像素有多少.分辨率的单位有:(dp

登录界面、AutoUtils 屏幕适配、自定义Edittext(显示密码可见和一键清空)和 TextInputLayout的使用。

登录界面: AutoUtils自动屏幕适配: AutoUtils屏幕适配使用的方法 : 1.将AutoUtils类复制到要适配的项目中: 2.在程序的入口(清单文件filter):super.onCreate(savedInstanceState);//屏幕适配,这里是以720*1280分辨率为基准的适配AutoUtils.setSize(this, false, 720, 1280); * 这里我们UI是以1920*1280分辨率做图的,并且是横屏显示:AutoUtils.setSize(th

纯代码 自动屏幕适配iPhone

代码判断,你也可以用xib自带的自动布局选项 我是用的纯代码写的 纯代码 自动屏幕适配iPhone,布布扣,bubuko.com

手机卫士13_屏幕适配_异常处理_盈利模式_混淆加密

今天是手机卫士最后一天 1,简易屏幕适配: ①使用线性,相对,帧布局,这三种常用布局在所有设备上几乎可以完整实现,多使用dp,sp,不要使用像素,dp,sp会自动适应屏幕 ②浮动窗体显示的距离问题:它show出来的距离就是像素,所以显示距离不会适应屏幕. 代码里接收的单位一般都是像素. 解决方式:把输入的数字转换成dp单位. 得到像素密度*像素 获得dp数据,根据屏幕实现的像素效果 通过工具类去转换成dp数据DesityUtils 2,应用程序的异常处理: 2.1 alpha版本:小范围的内部测

iOS里面的屏幕适配(两种方法)

第一种方法:进行等比缩放 适用于只有单个或者很少的页面需要适配的时候 第二种方法:用别人已经封装的类,进行屏幕的适配 适用于多个页面都需要进行屏幕适配 这是在ViewController.m里面的代码

屏幕适配的简单介绍

这两天上传了一些代码,有的同学反馈没有自动适配,所以现在总结点有关屏幕适配的知识 1 屏幕适配可以使用frame,但是需要多套代码,非常的麻烦 2 可以使用autoResizing适配:Ios6之前出现的,用来约束父子控件之间的关系,和autolayout是冲突的, 两者不能同时使用,外边的四条线段选中,表示距离四周间距是固定的,里面的两个线段,当勾选上的时候,表示不固定,拉伸.不勾选,表示固定. 3 autolayout:Ios7开始大规模使用,既可以设置父子之间的关系,也可以设置同级之间的关

关于android屏幕适配

好吧 我承认被美工虐的够呛,而且美工他么是个男的!一点也不美, 废话不多说 急着赶路, 之前不怎么重视 直到遇见这个美工给我一套1080x1920的 图,没错 就一套 1dp=3px没错的啊 问题是就是适配不了! 懒吧, 那段时间不得不靠啊 屏幕适配其实很多种, 代码实现 布局实现 关于权重,图片放在不同文件夹下,那么 当你遇见华为系列的手机怎么办? 我当时是这么做的 display获取屏幕宽高 记得不错的话 华为的是 720x1814的... 新建文件夹 layout-1184x720 然后把

[转]再谈移动端Web屏幕适配

一个多月前水了一篇移动web屏幕适配方案,当时噼里啪啦的写了一通,自我感觉甚是良好.不过最近又有一些新的想法,和之前的有一些不同. 先说一下淘宝的方案,感觉现在好多的适配方案都是受了它的影响,上周六看了winter在一个会议的分享,讲到了这个方案.现在你谷歌一下移动web适配,绝对可以看到很多类似的,切活动页的童鞋都忍不住试一把.这些方案和我的博客写的其实还是相似的,就是抛弃了那种viewport直接缩放,然后给定html的初始font-size值,使用rem这个单位. 在屏幕的设备像素比上,也

034-iOS屏幕适配-iOS笔记

学习目标 1.[了解]屏幕适配的发展史 2.[了解]autoResizing基本用法 3.[掌握]autoLayout 的基本用法 4.[掌握]autoLayout代码实现 5.[理解]sizeClass的基本用法 一.屏幕适配的发展史 随着iOS屏幕尺寸越来越多样化,屏幕适配也就越来越重要了. iphone1 - iphone3gs时代,window的size固定为(320,480).我们只需要简单计算一下相对位置就好了,不需要做屏幕适配. iphone4 - iphone4s时代,苹果推出了

android屏幕适配详解

android屏幕适配详解 官方地址:http://developer.android.com/guide/practices/screens_support.html 一.关于布局适配建议 1.不要使用绝对布局 2.尽量使用match_parent 而不是fill_parent . 3.能够使用权重的地方尽量使用权重(android:layout_weight) 4.如果是纯色背景,尽量使用android的shape 自定义. 5.如果需要在特定分辨率下适配,可以在res目录上新建layout