屏幕适配是可以通过代码实现的,相信给你时间就一定能写出来. 我们公司貌似没有分辨率适配框架通常对应小屏幕的苹果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 屏幕适配小脚本的更多相关文章

  1. android下在屏幕适配小总结

    为什么要屏幕适配?为此我就不说了,网上处理方法要么让你用几套不同分辨率的图片,要么写几套布局文件,要么就是在xml中写dip(这个还是可以的),前面两种感觉过程工作量太大了,由加载大图片的优化思想 同 ...

  2. unity 屏幕适配的问题

    首先是AB的加载时,会出现localscale的改变,需要在初始化时将其调节为1.0并且 offmax和min都设置为0,此时方才会出现在自己臆想之中(尤其是需要设置父节点时)

  3. Unity 手机屏幕适配

    ////如有侵权 请联系我进行删除 email:YZFHKM@163.com 1.游戏屏幕适配 屏幕适配是为了让我们的项目能够跑在各种电子设备上(手机,平板,电脑) 那么了解是适配之前首先要了解两个知 ...

  4. 关于Unity中的屏幕适配

    一.Game视图的屏幕分辨率可以先自定义添加,供以后选择,以下是手游经常用到的分辨率: 1.1136X640,iPhone5 2.1920X1080,横屏,主流游戏都是这个分辨率 3.1080X192 ...

  5. Unity2D多分辨率屏幕适配方案(转载)

    一下内容转自:http://imgtec.eetrend.com/forum/3992 此文将阐述一种简单有效的Unity2D多分辨率屏幕适配方案,该方案适用于基于原生开发的Unity2D游戏,即没有 ...

  6. [原创]一种Unity2D多分辨率屏幕适配方案

    此文将阐述一种简单有效的Unity2D多分辨率屏幕适配方案,该方案适用于基于原生开发的Unity2D游戏,即没有使用第三方2D插件,如Uni2D,2D toolkit等开发的游戏,NGUI插件不受这个 ...

  7. 一种Unity2D多分辨率屏幕适配方案

    http://www.cnblogs.com/flyFreeZn/p/4073655.html 此文将阐述一种简单有效的Unity2D多分辨率屏幕适配方案,该方案适用于基于原生开发的Unity2D游戏 ...

  8. 移动web屏幕适配方案

    刚进部门就被拉去趟移动端Web的浑水,视觉稿是按照640px设计的.那如何做屏幕适配呢?当然想到的第一方法就是问前辈了,问他们之前怎么做的,前辈说直接按视觉稿来,我说640太大了,他说除以2啊,按32 ...

  9. Android屏幕适配笔记

    1.限定符 为了适配不同屏幕大小的android手机或android平板,有时候就需要利用限定符来为不同的屏幕设定不同的布局文件,在一般情况下我们都是在layout文件夹下为某个活动准备一个默认的布局 ...

随机推荐

  1. 分享微博,qq空间,微信

    <div class="share_class" ><div class="bdsharebuttonbox">    <a hr ...

  2. MVC 校验

    校验保障了MVC 应用程序安全性. Models 文件夹包含表示应用程序模型的类 1,创建一个项目MvcValidateDemo. 2,创建一个实体类UserInfo在Models中,包含Id.Use ...

  3. [置顶] cJSON库(构建json与解析json字符串)-c语言

     一.c语言获取json中的数据. 1.先要有cJOSN库,两个文件分别是cJSON.c和cJSON.h. 2.感性认识 char * json = "{ \"json\" ...

  4. 未能载入文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件。

    这个一般出如今三层给B层与D层之间加抽象工厂-接口-映射.时候出的错.出错的地方是抽象工厂. --如图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTA ...

  5. STM32外部中断具体解释

      一.基本概念 ARM Coetex-M3内核共支持256个中断,当中16个内部中断,240个外部中断和可编程的256级中断优先级的设置.STM32眼下支持的中断共84个(16个内部+68个外部), ...

  6. Difference between enabled and userInteractionEnabled properties

    I read through the documentation, and here are my findings. UIButton inherits from UIControl the boo ...

  7. 使用Win32::OLE操作Excel——Excel对象模型

    像VBA操作Excel一样,Win32::OLE模块也是通过对象操作来控制Excel. 如果想自动化操作和控制Excel应用程序,则必须要与Excel对象模型所提供的对象进行交互.理解和熟悉Excel ...

  8. CodeSmith使用总结--下拉列表和文件夹对话框属性

    上一篇有点短了,因为实在没有什么可说的,这一篇会多一点.O(∩_∩)O~ 一.下拉列表 关于如何在CodeSmith中创建一个下拉列表的属性框其实很简单,是要使用C#中的枚举就行了,看操作. 首先定义 ...

  9. android 5.0 受欢迎的API简介

    android 5.0 作为系统的一次重大升级,给用户和开发者带来了全新的体验.Material Design不但在视觉和操作上更胜一筹,扩展UI工具包同时也引入了大量新的API. 1. 3D视图和实 ...

  10. JavaScript 作用域和闭包

    作用域的嵌套将形成作用域链,函数的嵌套将形成闭包.闭包与作用域链是 JavaScript 区别于其它语言的重要特性之一. 作用域 JavaScript 中有两种作用域:函数作用域和全局作用域. 在一个 ...