مراجعة: FindNearest
جزء من قسم هندسة الألعاب في Unity في رحلة Unity على Coddy. الدرس 36 من 50.
التحدي
متوسطيجمع روبوت التنظيف الجواهر، ثم يذهب للشحن. إن 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
1المكوّنات لا التسلسلات الهرمية
مكوّنات صغيرةسكربت أساسي للعدومكوّنات مجرّدةتعمل المكوّنات معًامراجعة: برج دفاعي معياري4البيانات المتسلسلة
الأصناف القابلة للتسلسلالقوائم في Inspectorالتعدادات في Inspectorمراجعة: جدول الغنائم10مشروع: الناجي في الساحة
البطلأنواع الأعداء