Что делают эти скрипты? Они нормализуют размер и положение под экран (очень полезно для мобильных приложений), пример:
При моем разрешении (658х370)
При растягивании на экран (maximize on play) (обрезана из-за ограничений форума)
Для спрайтов, кнопок и т д:
Синтаксис:
Используется javascript
private var rt:RectTransform;
var ScreenW = 800;
var ScreenH = 600;
private var posX = 0.0;
private var posY = 0.0;
private var shirina = 0.0;
private var vysota = 0.0;
private var scrinWidth = 0.0;
private var scrinHeight = 0.0;
private var BalansWidth = 0.0;
private var BalansHeight = 0.0;
function Start () {
rt = GetComponent(RectTransform);
posX = rt. anchoredPosition.x;
posY = rt. anchoredPosition.y;
shirina = rt.sizeDelta.x;
vysota = rt.sizeDelta.y;
scrinWidth = Screen.width;
scrinHeight = Screen.height;
BalansWidth = ScreenW / scrinWidth;
BalansHeight = ScreenH / scrinHeight;
rt. anchoredPosition.x = posX/BalansWidth;
rt. anchoredPosition.y = posY/BalansHeight;
rt.sizeDelta.x = shirina / BalansWidth;
rt.sizeDelta.y = vysota / BalansHeight;
}
var ScreenW = 800;
var ScreenH = 600;
private var posX = 0.0;
private var posY = 0.0;
private var shirina = 0.0;
private var vysota = 0.0;
private var scrinWidth = 0.0;
private var scrinHeight = 0.0;
private var BalansWidth = 0.0;
private var BalansHeight = 0.0;
function Start () {
rt = GetComponent(RectTransform);
posX = rt. anchoredPosition.x;
posY = rt. anchoredPosition.y;
shirina = rt.sizeDelta.x;
vysota = rt.sizeDelta.y;
scrinWidth = Screen.width;
scrinHeight = Screen.height;
BalansWidth = ScreenW / scrinWidth;
BalansHeight = ScreenH / scrinHeight;
rt. anchoredPosition.x = posX/BalansWidth;
rt. anchoredPosition.y = posY/BalansHeight;
rt.sizeDelta.x = shirina / BalansWidth;
rt.sizeDelta.y = vysota / BalansHeight;
}
Для текста
Синтаксис:
Используется javascript
import UnityEngine.UI;
var ScreenH:float = 600;
private var BalansHeight = 0.0;
var fs:int;
var te:Text;
function Start () {
BalansHeight = ScreenH / Screen.height;
te = GetComponent(Text);
fs = te.fontSize;
te.fontSize = fs / BalansHeight;
}
var ScreenH:float = 600;
private var BalansHeight = 0.0;
var fs:int;
var te:Text;
function Start () {
BalansHeight = ScreenH / Screen.height;
te = GetComponent(Text);
fs = te.fontSize;
te.fontSize = fs / BalansHeight;
}
Надеюсь кому нибудь пригодится =)