unity屏幕追踪
在这两篇文章的基础上做了些修改
这里实现的功能是slg游戏的主城不在屏幕内的时候,在屏幕边缘显示一个按钮,按钮的箭头指向主城。(部分变量的值在lua中赋值,由lua调用该脚本的方法
public class ChengWaiCityPosTrack : MonoBehaviour
{
public Vector3 TargetV3;//追踪目标
private Vector3 MyPosV3;//当前自身位置
public RectTransform TeammatesObj; //悬浮图标
private Vector2 player2DPosition;
private Vector2 TeammatesFrame;// = new Vector2(Screen.width * 0.5f - (Screen.height * 0.3f), Screen.height * 0.3f); //显示图标在窗口边缘的位置
private Ray ray;
private RaycastHit hit;
private Transform rotaTrans;//按钮的箭头,用于旋转指向
private GameObject obj;//用于设置按钮的显示隐藏,若直接对自身操作,会导致脚本失效
private Vector2 MyPosV2;//
//private Text disText;
void OnEnable()
{
TeammatesObj = GetComponent<RectTransform>();
rotaTrans = transform.Find("Obj/Pointer").transform;
obj = transform.Find("Obj").gameObject;
//disText = transform.Find("Obj/Text").gameObject.GetComponent<Text>();
}
//num 自适应的,画布与分辨率的比值
public void