1. 程式人生 > >Unity2D 通過Canvas來設定螢幕適配

Unity2D 通過Canvas來設定螢幕適配

我們在使用Unity製作2D遊戲時,需要考慮螢幕適配的問題,以前是通過設定Camera的size視口大小來解決,這種方式在網上很多。

下面我介紹一種更簡單的方式,我們都知道UGUI的螢幕適配功能很強,那麼我們為什麼不借助它來設定我們Sprites root層的縮放大小呢。只需要加一個空的Canvas,下面的程式碼就是藉助這個Canvas來獲取縮放值的

using UnityEngine;
using System.Collections;
/// <summary>
/// Sprite layer adjust.
/// </summary>
[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;
			}
		}
	}
}