Menu
CoddyTech

Récapitulatif : FindNearest

Fait partie de la section Architecture de jeu dans Unity du Journey Unity de Coddy. Leçon 36 sur 50.

challenge icon

Défi

Moyen

Un robot de nettoyage collecte des gemmes, puis va se recharger. Gem et ChargePad sont des scripts marqueurs vides (prêts à l’emploi), et le robot possède MoveTo(point), qui le fait avancer vers un point à speed et renvoie true une fois qu’il y est.

  • Dans Helpers.cs, écris une classe statique Helpers avec une méthode générique FindNearest<T>(IEnumerable<T> items, Vector3 from) pour n’importe quel type de composant. Elle renvoie l’élément dont la position est la plus proche de from, ou null s’il n’y a aucun élément.
  • Dans Robot.cs, à chaque image, le robot se dirige vers la gemme la plus proche dans la scène, depuis sa position actuelle, et détruit la gemme lorsqu’il l’atteint.
  • Lorsqu’il ne reste plus de gemmes, le robot se dirige vers le ChargePad le plus proche. À son arrivée, il consigne Charging une seule fois et reste sur place.

Utilise FindNearest pour les gemmes comme pour les pads. Appuie sur Play, observe le robot, puis clique sur Check.

Essayez vous-même

using System.Collections.Generic;
using UnityEngine;

// Helpers.FindNearest<T> : l'élément le plus proche d'un point, ou null

Toutes les leçons de Architecture de jeu dans Unity