Menu
CoddyTech
flag Ar iconالعربيةdown icon

مراجعة: FindNearest

جزء من قسم هندسة الألعاب في Unity في رحلة Unity على Coddy. الدرس 36 من 50.

challenge icon

التحدي

متوسط

يجمع روبوت التنظيف الجواهر، ثم يذهب للشحن. إن Gem وChargePad نصّان برمجيان فارغان للتعريف بالعلامات (جاهزان)، وللروبوت MoveTo(point)، التي تحرّكه نحو نقطة بخطوات بسرعة speed وتُعيد true بمجرد وصوله إليها.

  • في Helpers.cs، اكتب صنفًا ثابتًا Helpers يتضمن طريقة عامة FindNearest<T>(IEnumerable<T> items, Vector3 from) لأي نوع مكوّن. تُعيد الطريقة العنصر الأقرب موضعًا إلى from، أو null إذا لم تكن هناك عناصر.
  • في Robot.cs، يتجه الروبوت في كل إطار إلى أقرب جوهرة في المشهد من موقعه الحالي، ويدمّر الجوهرة عند وصوله إليها.
  • عندما لا تبقى أي جواهر، يتجه الروبوت إلى أقرب ChargePad. وعند وصوله، يسجّل Charging مرة واحدة ويبقى هناك.

استخدم FindNearest للجواهر ومنصات الشحن معًا. اضغط Play، وشاهد الروبوت، ثم اضغط Check.

جرّب بنفسك

using System.Collections.Generic;
using UnityEngine;

// Helpers.FindNearest<T>: العنصر الأقرب إلى نقطة، أو null

جميع دروس هندسة الألعاب في Unity