| 12345678910111213141516171819202122232425262728293031 |
- 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);
- }
- }
- }
|