Unity2D 通过Canvas来设置屏幕适配

我们在使用Unity制作2D游戏时,需要考虑屏幕适配的问题,以前是通过设置Camera的size视口大小来解决,这种方式在网上很多。

下面我介绍一种更简单的方式,我们都知道UGUI的屏幕适配功能很强,那么我们为什么不借助它来设置我们Sprites root层的缩放大小呢。只需要加一个空的Canvas,下面的代码就是借助这个Canvas来获取缩放值的

using UnityEngine;
using System.Collections;
/// 
/// Sprite layer adjust.
/// 
[ExecuteInEditMode]
public class SpriteLayerScaler: MonoBehaviour {

	public UnityEngine.UI.CanvasScaler referenceCanvas;

	void Start(){
		if(referenceCanvas){
			transform.localScale = referenceCanvas.transform.localScale*100f;
		}
	}

	void LateUpdate(){
		if(Application.platform== RuntimePlatform.OSXEditor||Application.platform== RuntimePlatform.WindowsEditor){
			if(referenceCanvas){
				transform.localScale = referenceCanvas.transform.localScale*100f;
			}
		}
	}
}


你可能感兴趣的:(Unity)