Unity 屏幕适配小脚本
屏幕适配是可以通过代码实现的,相信给你时间就一定能写出来. 我们公司貌似没有分辨率适配框架通常对应小屏幕的苹果4要额外设置下等等就完了!
屏幕适配框架实现思路: 通过代码获取当前的分辨率 –> 选择不同图片显示 –> 游戏场景对分辨的相应变化
屏幕简单适配的小脚本:
using UnityEngine;
using System.Collections; public class ScreenWide : MonoBehaviour { public Vector2 designResolution = new Vector2(960f, 640f); //设计的时候分辨率
public FitType match = FitType.stretch; //屏幕适配的类型
public bool isUseFit; //是否使用屏幕适配 [HideInInspector] public Vector2 percentage; //屏幕是配比
[HideInInspector] public float percentageWH = 0;
[HideInInspector] public Vector3 old_scale; public void Start(){
old_scale = transform.localScale; //进行分辨率适配
if (isUseFit) {
Fit();
}
} public void Fit()
{
//计算百分比 高,宽
percentage = new Vector2(designResolution.x / (Screen.width * 1.0f), designResolution.y / (Screen.height * 1.0f));
percentageWH = Screen.width / (Screen.height * 1.0f) / (designResolution.x / designResolution.y); switch (match) {
case FitType.stretch: //拉伸
transform.localScale = new Vector3(old_scale.x * percentageWH, old_scale.y * percentageWH, old_scale.z);
break;
case FitType.accordingHeight:// 以高为准
transform.localScale = new Vector3(old_scale.x / percentage.y, old_scale.y / percentage.y, old_scale.z);
break;
case FitType.accordingWidth:// 以宽为准
transform.localScale = new Vector3(old_scale.x / percentage.x, old_scale.y / percentage.x, old_scale.z);
break;
case FitType.onlyHeight: // 只有宽拉伸
transform.localScale = new Vector3(old_scale.x, percentageWH * old_scale.y, old_scale.z);
break;
case FitType.onlyWidth: // 不进行图片适配
transform.localScale = new Vector3(percentageWH * old_scale.x, old_scale.y, old_scale.z);
break;
} } }
/// <summary>
/// 屏幕适配枚举
/// </summary>
public enum FitType
{
/// <summary>
/// 拉伸
/// </summary>
stretch,
/// <summary>
/// 以高为准
/// </summary>
accordingHeight,
/// <summary>
/// 以宽为准
/// </summary>
accordingWidth,
/// <summary>
/// 只有高拉伸
/// </summary>
onlyHeight,
/// <summary>
/// 只有宽拉伸
/// </summary>
onlyWidth,
/// <summary>
/// 不进行图片适配
/// </summary>
none
}
 =。= 最近的游戏项目
Unity 屏幕适配小脚本的更多相关文章
- android下在屏幕适配小总结
		
为什么要屏幕适配?为此我就不说了,网上处理方法要么让你用几套不同分辨率的图片,要么写几套布局文件,要么就是在xml中写dip(这个还是可以的),前面两种感觉过程工作量太大了,由加载大图片的优化思想 同 ...
 - unity 屏幕适配的问题
		
首先是AB的加载时,会出现localscale的改变,需要在初始化时将其调节为1.0并且 offmax和min都设置为0,此时方才会出现在自己臆想之中(尤其是需要设置父节点时)
 - Unity 手机屏幕适配
		
////如有侵权 请联系我进行删除 email:YZFHKM@163.com 1.游戏屏幕适配 屏幕适配是为了让我们的项目能够跑在各种电子设备上(手机,平板,电脑) 那么了解是适配之前首先要了解两个知 ...
 - 关于Unity中的屏幕适配
		
一.Game视图的屏幕分辨率可以先自定义添加,供以后选择,以下是手游经常用到的分辨率: 1.1136X640,iPhone5 2.1920X1080,横屏,主流游戏都是这个分辨率 3.1080X192 ...
 - Unity2D多分辨率屏幕适配方案(转载)
		
一下内容转自:http://imgtec.eetrend.com/forum/3992 此文将阐述一种简单有效的Unity2D多分辨率屏幕适配方案,该方案适用于基于原生开发的Unity2D游戏,即没有 ...
 - [原创]一种Unity2D多分辨率屏幕适配方案
		
此文将阐述一种简单有效的Unity2D多分辨率屏幕适配方案,该方案适用于基于原生开发的Unity2D游戏,即没有使用第三方2D插件,如Uni2D,2D toolkit等开发的游戏,NGUI插件不受这个 ...
 - 一种Unity2D多分辨率屏幕适配方案
		
http://www.cnblogs.com/flyFreeZn/p/4073655.html 此文将阐述一种简单有效的Unity2D多分辨率屏幕适配方案,该方案适用于基于原生开发的Unity2D游戏 ...
 - 移动web屏幕适配方案
		
刚进部门就被拉去趟移动端Web的浑水,视觉稿是按照640px设计的.那如何做屏幕适配呢?当然想到的第一方法就是问前辈了,问他们之前怎么做的,前辈说直接按视觉稿来,我说640太大了,他说除以2啊,按32 ...
 - Android屏幕适配笔记
		
1.限定符 为了适配不同屏幕大小的android手机或android平板,有时候就需要利用限定符来为不同的屏幕设定不同的布局文件,在一般情况下我们都是在layout文件夹下为某个活动准备一个默认的布局 ...
 
随机推荐
- iOS UIView显示颜色渐变
			
-(void)colorWear:(UIView *)view{ CAGradientLayer *gradient = [CAGradientLayer layer]; gradient.frame ...
 - springMVC之annotation优化
			
1.在之前配置的spring配置文件中会有这样的代码: <!-- 方法映射 --> <bean class="org.springframework.web.servle ...
 - 关于Go语言共享内存操作的小实例
			
<strong style="margin: 0px; padding: 0px; border: 0px; font-size: 15px; font-weight: bold; c ...
 - hdu 4756 Install Air Conditioning
			
非正规做法,一个一个的暴,减一下枝,还得采用sort,qsort居然过不了…… #include <cstdio> #include <cmath> #include < ...
 - 一起talk C栗子吧(第二十回:C语言实例--括号匹配)
			
各位看官们,大家好.前几回中咱们说了堆栈的原理,而且举了实际的样例进行讲解,这一回咱们说的例 子是:括号匹配. 括号匹配使用了堆栈的原理,大家能够从样例看出来.所以我们把它们放在一起.闲话 休提.言归 ...
 - EasyInvoice 使用教程 - (1) 认识 EI
			
原视频下载地址:EI 主界面介绍 1. 主界面截图 2. 基础资料界面截图 3. 管理员 界面截图
 - Javascript高级程序设计读书笔记(第二章)
			
第二章 在HTML中使用Javascript 2.1<script>元素 延迟脚本(defer = "defer")表明脚本在执行时不会影响页面的构造,脚本会被延迟到 ...
 - javascript紧接上一张for循环的问题,我自己的理解
			
这类问题,通常都是在for循环里,根据i的变化作为dom的下标来作当前dom的点击事件, 预期是,每个点击事件都对应相应的i下标,但是问题是,每次点击的都是最后一次节点的dom. 原因就是其实我们作点 ...
 - ASP.NET入门 - 错误和异常处理
			
当发生错误时,应该向用户提供一个友好的界面,可以屏蔽详细技术信息,也有助提升用户体验,这时就用到了异常处理. 错误类型: 语法错误:因缺少关键字,符号,或其他不正确代码所产生的错误,无法通过编译. 逻 ...
 - MS-SQL数据库备份方法
			
一.手动备份 打开企业管理器 --> 右键点击需要备份的数据库 --> 所有任务 --> 备份数据库 或者: 查询分析器: use master backup database 数 ...