using UnityEngine; public class ElectricPointMover : MonoBehaviour { public Transform[] pathPoints; // 路径点,Inspector里赋值 public float speed = 5f; private int currentPointIndex = 0; void Start() { if (pathPoints.Length > 0) transform.position = pathPoints[0].position; // 初始化位置到第一个点 } void Update() { if (pathPoints.Length == 0) return; Transform target = pathPoints[currentPointIndex]; // 向目标点移动 transform.position = Vector3.MoveTowards(transform.position, target.position, speed * Time.deltaTime); // 判断是否到达目标点 if (Vector3.Distance(transform.position, target.position) < 0.001f) { currentPointIndex = (currentPointIndex + 1) % pathPoints.Length; // 循环路径 //Debug.LogError(target.name); } } }