Udemy-Unity制作类暗黑破坏神游戏记录-P51

2024-09-14
68看过
制作巡逻点,创建PatrolPath脚本,编写巡逻的路径,先将路径点给绘制出来

PatrolPath

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. namespace RPG.Control
  5. {
  6.     public class PatrolPath : MonoBehaviour
  7.     {
  8.         // 在绘制 Gizmos,用于可视化巡逻路径
  9.         private void OnDrawGizmos()
  10.         {
  11.             for (int i = 0;i< transform.childCount; i++)  // 遍历所有子对象(每个子对象是一个路径点)
  12.             {
  13.                 int j = GetNextIndex(i);// 获取当前点的下一个点的索引
  14.                 Gizmos.color = Color.red; // 设置 Gizmos 的颜色为红色
  15.                 Gizmos.DrawSphere(GetWaypoint(i), 1f);   // 绘制当前路径点的位置
  16.                 Gizmos.DrawLine(GetWaypoint(i),GetWaypoint(j)); // 绘制从当前路径点到下一个路径点的连线
  17.             }
  18.         }
  19.         private int GetNextIndex(int i)// 获取当前索引点的下一个索引
  20.         {
  21.             if(i +1 == transform.childCount) // 如果当前点是最后一个点,则返回第一个点的索引
  22.             {
  23.                 return 0;
  24.             }
  25.             return i + 1; // 否则返回下一个点的索引
  26.         }
  27.         private Vector3 GetWaypoint(int i)  // 获取指定索引的路径点位置
  28.         {
  29.             return transform.GetChild(i).position;
  30.         }
  31.     }
  32. }
复制代码


回复

举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表