从Unity4.6开始,集成了新的UI系统。这篇文章将记录新的UI系统的一些使用技巧,内容将不断增加~~~
1)给人物加血条效果
把要挂载的父节点的RectTransform中的锚点设置位buttonLeft。并获得当前的Canvas中的CanvasScaler,计算出缩放因子(比如下面是按照y来进行缩放的)
CanvasScaler scaler = GetComponent<CanvasScaler> ();
if(scaler != null) {
float s = scaler.referenceResolution.y / Screen.height;
UIScaleFactor = Vector3.one * s; // 初始化缩放因子, 因为本游戏是按照高度来缩放的,所以这里是y的缩放因子
} else {
Debug.LogError("[UIBattle] Cannot get component of CanvasScaler!");
}
.....
var pos = Camera.main.WorldToScreenPoint(BloodBarPos); // 获取屏幕地址
pos.Scale(UIScaleFactor); // 进行缩放
bloodTrans.anchoredPosition = pos; // 设置位置,当然这个bloodTrans在某个锚点在Button