Menu
CoddyTech

回顾:FindNearest

本课属于 Coddy Unity 学习旅程的“Unity 游戏架构”单元。第 45 课,共 64 课。

本章编写了适用于任意类型的代码:扩展方法、泛型基类和泛型辅助方法。在这里,一个泛型搜索函数就能同时查找宝石和充电板。

challenge icon

挑战

中等

让机器人先去捡最近的宝石,然后去充电。

  1. 在 Helpers.cs 中,编写静态类 Helpers,并为组件编写公共方法 FindNearest<T>(IEnumerable<T> items, Vector3 from),返回最近的项,若没有则返回 null。
  2. 在 Robot 中,每帧都让机器人 MoveTo 最近的 Gem,到达后将其销毁。
  3. 没有剩余宝石时,前往最近的 ChargePad,记录一次 Charging,然后停留在那里。

按下“开始”:机器人会收集所有宝石。然后点击“检查”。

亲手试试

using System.Collections.Generic;
using UnityEngine;

// Helpers.FindNearest<T>:距离指定点最近的元素,如果没有则返回 null
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

Unity 游戏架构中的所有课

自己练习: Unity 在线编辑器