使用方法:
挂载到需要移动到物体上
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move : MonoBehaviour
{
//定义单例,使外部可访问
public static Move instance { get; set; }
//目标位置
public Vector3 destination;
//是否移动
public bool movingstatus = false;
//移动速度
public float speed=10f;
//移动距离
private float distance;
void Start()
{
//计算距离
distance = Vector2.Distance(gameObject.transform.position, destination);
}
void Update()
{
if(movingstatus==true)
{
transform.position = Vector2.MoveTowards(gameObject.transform.position, destination, speed * Time.deltaTime);
}
if(gameObject.transform.position == destination)
{
movingstatus = false;
}
}
}
其他脚本调用
tile.GetComponent<Move>().destination = position;
tile.GetComponent<Move>().movingstatus = true;
注意事项:
只有在激活状态下脚本才能生效,未激活的物体上挂载的脚本是不工作的,若不注意将引发严重的bug