Unity2D 通過Canvas來設定螢幕適配
阿新 • • 發佈:2019-01-11
我們在使用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; } } } }