unity如何设置全屏功能
发表于2017-02-17
有些玩家喜欢用全屏玩游戏,所以就需要游戏开发者在开发之初就要给游戏设置一个全屏功能,那么该功能如何实现呢,下面就给大家介绍下实现全屏设置的方法,一起来看看吧。
在了解全屏问题之前必须要知道两个方法:Screen.SetResolution()和 Screen.fullScreen = true;
Screen.fullScreen = true;是设置为全屏的代码。
看官网对Screen.SetResolution()解释和例子:


看完这个就已经知道了这个方法就是设置固定分辨率下是否全屏的方法。官网的第一个例子就是640*480分辨率下的全屏,第二个例子是以60hz的速率转化为640*480的全屏(默认情况这个preferredRefreshRate=0);第三个例子是800*600分辨率但不全屏。
下面通过实例来了解如何设置全屏功能
首先建立一个工程,里面有3d场景也有UI界面,UI一定要把锚点设置好。

下面是实现脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | using UnityEngine; using System.Collections; public class fullscreen : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { // 按ESC退出全屏 if (Input.GetKey(KeyCode.Escape)) { Screen.fullScreen = false ; //退出全屏 } //设置为1366*768不全屏 if (Input.GetKey(KeyCode.V)) { Screen.SetResolution(1366, 768, false ); } //设置1366*768的全屏 if (Input.GetKey(KeyCode.B)) { Screen.SetResolution(1366, 768, true ); } //按A全屏 if (Input.GetKey(KeyCode.A)) { //获取设置当前屏幕分辩率 Resolution[] resolutions = Screen.resolutions; //设置当前分辨率 Screen.SetResolution(resolutions[resolutions.Length - 1].width, resolutions[resolutions.Length - 1].height, true ); Screen.fullScreen = true ; //设置成全屏, } } } |
这段代码中最后一个方法是最为实用的方法,因为它实用于任何分辨率的显示器来显示全屏,不会出现拉伸的效果。Screen.fullScreen = true;这个是unity全屏代码。
下面是运行效果图:
默认效果:

按B键全屏时,画面出现了拉伸

按A键全屏,不出现拉伸:

按ESC退出全屏回归默认大小,按V键会设置为1366*768的大小。