【Unity3D】笔记之OnGUI()下的自适屏
来源:互联网 发布:php artisan db seed 编辑:程序博客网 时间:2024/06/05 15:42
转眼离上一篇博客的已有半年之久,想当初,满怀激情的说要坚持更新博客,记录学习笔记,但要真正坚持下去,确实需要非凡的毅力啊!脑子的那股热一散去整个人就懒了。还记得那时正准备写篇关于在OnGUI()方法下UI如何自动适应屏幕分辨率变化,但一直拖着没空写。刚好趁现在没找到工作之前有点时间,就把这个补上,虽然现在已经有NGUI和UGUI这些可以轻松实现自适屏效果,但我还是想把这个初学时学到的这个方法记录下,多学点是没错的,嘻嘻。
下面的脚本随便挂在一个对象下,运行时随便更改分辨率和调整Game窗口大小都能轻松实现自适屏效果。
using UnityEngine;using System.Collections;public class MyGUI : MonoBehaviour { private Vector2 defaultScreenRes;// Use this for initializationvoid Start () { defaultScreenRes.x = 1366;//初始化一个本机的分辨率 defaultScreenRes.y = 768;} void OnGUI() { ResizeGUIMatrix(); //初始化调用方法实现自动适应屏幕分辨率 GUI.matrix = Matrix4x4.identity; GUI.Button(new Rect (20,20,200,100),"kkoo"); //GUI.matrix = Matrix4x4.identity; } void ResizeGUIMatrix() { //通过当前屏幕和预设屏幕的宽高比得到比例ratio Vector2 ratio = new Vector2(Screen.width/defaultScreenRes.x , Screen.height/defaultScreenRes.y ); Matrix4x4 guiMatrix = Matrix4x4.identity; //单位矩阵 //Matrix4x4.SetTRS():设置平移旋转缩放矩阵 //参1为平移,参2为旋转,参3为缩放 //将缩放ratio所得值放入参3,达到缩放GUI效果 guiMatrix.SetTRS(new Vector3(1, 1, 1), Quaternion.identity, new Vector3(ratio.x, ratio.y, 1)); GUI.matrix = guiMatrix; //将改变的比例传给GUI }}
1 0
- 【Unity3D】笔记之OnGUI()下的自适屏
- Unity3D之OnGUI
- Unity3D之OnGUI知识总结
- Unity3d中使用OnGUI()函数判断“键盘按下抬起”功能的新方法。
- 【unity实用技能】Unity3D之OnGUI知识总结
- unity3d 控制OnGUI
- unity3D -OnGUI.Slider
- 基于Unity3D的OnGUI实时显示FPS的实现
- Unity3D OnGUI函数控制音乐
- Unity3D自定义按钮—OnGUI
- Unity3d 简单计算器(OnGUI)
- GameObject的OnGUI用处
- OnGUI
- Unity3D基于OnGUI实时显示FPS
- Unity3D自带寻路学习笔记
- Unity3D自带寻路学习笔记
- unity3d自带寻路学习笔记
- C#中OnGUI的使用
- 如何给系统升级
- Github Pages + Hexo 设计你的免费 blog
- Java和Android环境配置以及javaDoc
- UIView与subview之间事件响应链
- Linux 下基本的查找命令和查看信息
- 【Unity3D】笔记之OnGUI()下的自适屏
- 代码添加constraint,设置translatesAutoresizingMaskIntoConstraints为NO的原因
- HDU 1495 非常可乐
- 数据对齐 posix_memalign 函数详解
- 数据结构与算法学习笔记(一)最大公约数与最小公倍数
- Linux 中 shell 变量 $#,$@,$0,$1,$2 的含义解释:
- Android三种实现定时器的方法
- 深入理解JavaScript闭包
- 编译器常识