مراجعة: برج دفاعي معياري
جزء من قسم هندسة الألعاب في Unity في رحلة Unity على Coddy. الدرس 5 من 50.
التحدي
سهلأنشئ برجَي ميدان الاختبار من الأجزاء. يتولى TurretControl.cs بالفعل تدوير كل برج باستخدام السهمين الأيمن والأيسر، ويطير Shell.cs بالقذيفة إلى الأمام. يمنح المشهد Turret1 مكوّن Cannon ومكوّن Ammo يحتوي على 4 قذائف، ويمنح Turret2 مكوّن TwinCannon ومكوّن Ammo يحتوي على 3 قذائف. اكتب الأجزاء:
- Ammo: متغير int عام
shellsوطريقة عامةbool Take(). إذا بقيت قذيفة، فإنه يستخدم واحدة ويعيدtrue. وإذا لم تبقَ أي قذيفة، فإنه يسجل اسم الكائن وis empty، مثلTurret2 is empty، ويعيدfalse. - Weapon: مكوّن مجرّد يأتي دائمًا مع مكوّن Ammo، وله
shellPrefabعام (من نوع GameObject)، ومتغير float عامcooldown(يضبطه Inspector على 1)، وطريقة عامةPull(). الضغط أثناء فترة التهدئة لا يفعل شيئًا ولا يستهلك قذيفة. وإلا، إذا أعادتTake()قذيفة، تبدأ فترة التهدئة وتُشغَّلFire()، وهي طريقة مجرّدة تكتبها لكل سلاح. - يطلق Cannon قذيفة واحدة من نقطة تبعد وحدة واحدة أمام البرج. ويطلق TwinCannon قذيفتين مقابل قذيفة واحدة من الذخيرة، من نقطتين تبعد إحداهما 0.4 إلى اليسار والأخرى 0.4 إلى اليمين عن تلك النقطة. تبدأ القذيفة عند
transform.position + transform.rotation * offset، وباتجاه دوران البرج (transform.rotation)، حيث تشيرoffsetإلى موضع كما يُرى من البرج، مثلnew Vector3(0f, 0f, 1f). - في TurretControl، يضغط مفتاح المسافة على زناد أي Weapon مركّب على البرج.
اضغط Play، ودوّر وأطلق النار حتى يفرغ البرجان، ثم اضغط Check.
جرّب بنفسك
using UnityEngine;
// ما تشترك فيه جميع أسلحة الأبراج.
public class Weapon : MonoBehaviour
{
}
جميع دروس هندسة الألعاب في Unity
1المكوّنات لا التسلسلات الهرمية
مكوّنات صغيرةسكربت أساسي للعدومكوّنات مجرّدةتعمل المكوّنات معًامراجعة: برج دفاعي معياري4البيانات المتسلسلة
الأصناف القابلة للتسلسلالقوائم في Inspectorالتعدادات في Inspectorمراجعة: جدول الغنائم10مشروع: الناجي في الساحة
البطلأنواع الأعداء