Menu
CoddyTech

Tekrar: FindNearest

Coddy'nin Unity Journey'sinin Unity'de Oyun Mimarisi bölümünün bir parçası. Ders 36 / 50.

challenge icon

Görev

Orta

Bir temizlik robotu mücevherleri toplar, ardından şarj olmaya gider. Gem ve ChargePad boş işaretleyici betikleridir (hazırdır) ve robotun, onu bir noktaya doğru ilerleten ve oraya vardığında true döndüren MoveTo(point) yöntemi vardır; bu yöntem speed hızında hareket eder.

  • Helpers.cs dosyasında, herhangi bir bileşen türü için FindNearest<T>(IEnumerable<T> items, Vector3 from) genel yöntemini içeren statik bir Helpers sınıfı yaz. Yöntem, konumu from noktasına en yakın olan öğeyi döndürür; öğe yoksa null döndürür.
  • Robot.cs dosyasında robot, her karede bulunduğu konumdan sahnedeki en yakın mücevhere yönelir ve oraya vardığında mücevheri yok eder.
  • Hiç mücevher kalmadığında robot en yakın ChargePad'e yönelir. Vardığında Charging mesajını bir kez günlüğe yazar ve orada kalır.

Hem mücevherler hem de şarj pedleri için FindNearest kullan. Play'e bas, robotu izle, ardından Check'e bas.

Kendin dene

using System.Collections.Generic;
using UnityEngine;

// Helpers.FindNearest<T>: bir noktaya en yakın öğe veya null

Unity'de Oyun Mimarisi bölümündeki tüm dersler