Unity3d + NGUI 多分辨率适应

更多型号适合的移动终端

现在我们要介绍的《链战争》游戏改编方法,这种适应方法UI这是一个基本维度,背景是一个基本的尺寸。背景比UI没有实际影响某一部分的额外部分,这样就避免了适应iPhone5在这么小的屏幕微调。

第一套UIRoot的Scaling Style属性,假设是电脑如今FixedSize,假设要打包到移动端选择FixedSizeOnMobiles.

我这里是以960*640为UI基础尺寸所以这里填写640高。

以下编写脚本BaseAspect.cs

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(UICamera))]
public class BaseAspect : MonoBehaviour
{
    float standard_width = 960f;        //初始宽度
    float standard_height = 640f;       //初始高度
    float device_width = 0f;                //当前设备宽度
    float device_height = 0f;               //当前设备高度
    public float adjustor = 0f;         //屏幕矫正比例
    void Awake()
    {

        //获取设备宽高
        device_width = Screen.width;
        device_height = Screen.height;
        //计算宽高比例
        float standard_aspect = Screen.width / standard_height;
        float device_aspect = device_width / device_height;
        //计算矫正比例
        if (device_aspect < standard_aspect)
        {
            adjustor = standard_aspect / device_aspect;
            //Debug.Log(standard_aspect);
        }
        Debug.Log("屏幕的比例" + adjustor);
        if (adjustor < 2 && adjustor > 0)
        {
            camera.orthographicSize = adjustor;
        }

    }
    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

    }
}

将该脚本加入到UICamera同一节点上

这样就能够实现适配了。这样的适配的方式会有镶边的存在。

蓝色是镶嵌边境的地方。

时间: 2024-10-22 15:18:05

Unity3d + NGUI 多分辨率适应的相关文章

Unity3d + NGUI 的多分辨率适配

移动端的多机型适配 现在要介绍的是<锁链战记>这款游戏的适配方法,这种适配方法是UI是一个基础尺寸,背景是一个基础尺寸,背景比UI多出的部分是一些没有实际作用的部分,这样的适配方式避免了在iPhone5这样的小屏幕上镶边. 首先设定UIRoot的Scaling Style属性,如果是电脑现在FixedSize,如果要打包到移动端选择FixedSizeOnMobiles. 我这里是以960*640为UI基础尺寸所以这里填写640高. 下面编写脚本BaseAspect.cs using Unity

[Unity3d][NGUI]两种思路解决AssetBundle的依赖关系.

接上文. 使用上文中的AssetBundle打包方式生成的文件包括了依赖关系中的文件. 一般的使用中并不会发现什么问题. 可是当配合NGUI的时候,使用dynamicFont时打包AssetBundle会将每一个组件使用的dynamicFont都分开打包进去. 导出函数请參考:导出资源 导出资源包时出现的问题: 如图: 在解决依赖关系上我使用过2种方案: 第一种是使用BuildPipeline中的PushAssetDependencies和PopAssetDependencies方法来解决依赖关

Unity3D NGUI自适应屏幕分辨率(2014/4/17更新)

原地址:http://blog.csdn.net/asd237241291/article/details/8126619 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 本文链接地址:Unity3D NGUI自适应屏幕分辨率 1.UIRoot:根据高度自适应屏幕分辨率. NGUI根目录的UIRoot组件自带了根据高度自适应分辨率的功能. Scaling Style属性可选择三种不同的缩放策略. PixelPerfect 完美像素:直接显示设定好的像素.当屏幕高度低于minimum

Unity3D NGUI学习(一)血条

这次来讲讲Unity3D NGUI这个插件的学习,这个插件是收费的,不过去网上可以下载得很多可用版本.用来做用户的交互UI,学习起来比较简单 第一步,导入NGUI包 http://pan.baidu.com/s/1mhKaoha 导入后Unity工具栏上面就会出现关于NGUI的选择了 第二步,开始看一些例子,分析一些例子,因为一般学插件就是下载后照着别人的例子去做可以学会了. 来看一个例子 这里还看一个上面的进度条的 当这个按钮包含几个脚本之后,就达到这样的效果 之后就能够通过实现脚本控制这个进

Unity3D NGUI图集切成图片

Unity3D NGUI图集切成图片 有的时候用NGUI做好了图集,那么原图就没有必要放到Unity3D中了,严重影响Unity3D的速度.但是突然右想把图片弄出来.当然NGUI是提供了图集中单个图片另存,但是如果图片太多,比较费时间,所以用python写了个切图片的工具代码如下: Python环境:2.7 测试通过,需要依赖Image库 NGUI版本:3.7 #coding:utf-8 #unity 图集裁剪成png #Author:Wiker Yong #Date:2015-07-08 im

【转】Unity3d + NGUI 的多分辨率适配

原文地址:http://www.cnblogs.com/cqgreen/p/3348154.html 一.当下移动设备的主流分辨率(数据来自“腾讯分析移动设备屏幕分辨率分析报告”) 1.1 iOS设备的分辨率主要有: 宽 高 宽高比 960 640 1.5 1136 640 1.775 1024 768 1.3333 2048 1536 1.3333 Android设备的分辨率则相对纷杂,主流的分辨率有: 宽 高 宽高比 800 480 1.6667 854 480 1.7792 1280 72

[插件] unity3d NGUI官方购买最新版本3.7.2 带系列旧版本

插件 资源名称: NGUI最新版本3.7.2 资源版本: 3.7.2 资源类型: .unitypackage 资源大小: 14.1 更新时间: 2014-09-16 支持正版: ↓↓↓↓↓↓插件仅用于学习,禁止商用,为了维护您的个人权益,请支持正版↓↓↓↓↓↓ 官网地址: https://www.assetstore.unity3d.com/en/#!/content/2413 资源图片: 链接: http://j.gs/926397/ngui372  密码: non6

Unity3D NGUI从背包中拖出并在场景中生成物体

http://www.cnblogs.com/zhanghaipeng-Unity3D/p/4732592.html 由于游戏需要从背包中拖出武器并在场景中相应的位置生成出来,所以研究了一下这个. 一般来说,在Unity3D开发中如果使用NGUI为游戏做UI,我们的场景和UI并不是使用一个相机进行渲染的,所以从背包中拖出物体并在场景相应的位置生成物体,就会涉及到UICamera和场景摄像机的转换.我在做这个时主要通过打射线来实现坐标转换. 如何创建一个可拖动的UI组件可以参考NGUI中的Exam

Unity3D NGUI UIInput制作输入框屏蔽特殊字符(只允许输入正整数)

1.首先看看使用NGUI插件创建一个简单输入文本框效果:. 2.这个简单的输入文本框需要一个label标签作为显示,一个背景图片以及输入UIInput脚本.我们看看unity的输入文本框的节点图 我们需要如下操作创建上图的节点, 接着创建量空的Gameobject节点如图所示并且重新命名为Input和Label名字. 3.绑定对应的脚本,在Input节点上我们添加部件选择UIInput.cs脚本和UISprite.cs脚本以及添加一个矩形碰撞器如图所示: 接下来我们进行UISprite脚本的设置