赞
踩
实现血条 即UI跟随。
1.屏幕坐标 ,世界坐标, 视口坐标
屏幕坐标 屏幕像素大小决定
视口坐标 有点像屏幕坐标 但是跟随相机移动大小是0到1;
获取到UI的相对位置
Vector2 viewpos = Camera.main.WorldToViewportPoint(transform.position);
transform 是你这个血条的世界坐标位置 , 这句话的意思是先得到 你这个物体的视口坐标。
Vector2 worldobjectScreen = new Vector2((viewpos.x * canvasrect.sizeDelta.x) - (canvasrect.sizeDelta.x * 0.5f) + xoffset, (viewpos.y * canvasrect.sizeDelta.y) - (canvasrect.sizeDelta.y * 0.5f) + yoffset);
然后 再得到 这个物体在你的屏幕坐标位置,因为视口坐标都是 0到1 相当于一个比例 用它×UI的长或宽
ui_element.anchoredPosition = worldobjectScreen;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。