做一段路,鼠标在路的附近,可以得到路上的位置。
大致思路,一段路由两头和中间的多个拐点组成,从头连到尾,添加LineRenderer做显示功能,添加EdgeCollider2D做鼠标交互功能。
需要写两个脚本,命名
Way,Pos
Way添加在路的物体上
Pos随便加在哪个物体上
需要在路的物体上添加两个组件
LineRenderer,EdgeCollider2D
两头,随便找两个物体作为点(图中的白点),并且添加进Way
拐点,直接设为路的子物体
Way的代码
public Site SiteA;
public Site SiteB;
public List<Vector2> v_Points;
//**连接各点,并且绘制图线和碰撞体
[ContextMenu("Draw_Way")]
void Draw_Way()
{
if (SiteA != null && SiteB != null)
{
//** WayPoint
v_Points = new List<Vector2>();
v_Points.Add(SiteA.transform.position);
if (transform.childCount > 0)
{
for (int i = 0; i < transform.childCount; i++)
{
v_Points.Add(transform.GetChild(i).position);
}
}
v_Points.Add(SiteB.transform.position);
for (int i = 0; i < v_Points.Count; i++)
{
v_Points[i] = new Vector3(v_Points[i].x, v_Points[i].y,