using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class test : MonoBehaviour {
public Image arrow; //Image 素材
public RectTransform pa; //起点图片
public Vector2 _pa; //起点
public Vector2 pb; //终点
private void Start()
{
_pa = pa.anchoredPosition;
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButton(0))
pb = new Vector2(Input.mousePosition.x - 960, Input.mousePosition.y - 540);
else
pb = _pa;
arrow.transform.localRotation = Quaternion.AngleAxis(-GetAngle(), Vector3.forward);
float distance = Vector2.Distance(pb, _pa);
arrow.rectTransform.sizeDelta = new Vector2(10, Mathf.Max(1, distance - 30));
arrow.GetComponent<RectTransform>().anchoredPosition =Vector2.Lerp(_pa, pb,0.5f);
}
public float GetAngle()
{
Vector2 dir = pb - _pa;
Vector2 dirV2 = new Vector2(dir.x, dir.y);
float angle = Vector2.SignedAngle(dirV2, Vector2.down);
return angle;
}
}
Ugui中使用Image完成动态连线
最新推荐文章于 2024-08-22 07:30:00 发布