logo

فهم المباني الجاهزة وإنشاء مثيل لها

يعد إنشاء مثيلات الشخصيات أو الكائنات وتدميرها أمرًا شائعًا جدًا في أي لعبة. إنشاء مثيل يعني جلب الكائن إلى الوجود. تظهر الكائنات أو تظهر أو تتولد في اللعبة، ويموت الأعداء، وتختفي عناصر واجهة المستخدم الرسومية، ويتم تحميل المشاهد طوال الوقت في اللعبة.

تعد المباني الجاهزة مفيدة جدًا عندما تريد إنشاء مثيل لـ GameObjects المعقدة أو مجموعة من GameObjects في وقت التشغيل. بالمقارنة مع إنشاء كائنات GameObjects من البداية باستخدام التعليمات البرمجية، فإن إنشاء مثيلات المباني الجاهزة باستخدام التعليمات البرمجية أفضل، وله العديد من المزايا.

دعونا نفهم ما هي المباني الجاهزة؛ نظرًا لأن المباني الجاهزة تعتبر مهمة لفهم كيفية عمل إنشاء مثيل في Unity.

المباني الجاهزة تشبه مخططات GameObject. لذلك يمكننا أن نقول، المباني الجاهزة هي نسخة من GameObject التي يمكن نسخها ووضعها في مشهد، حتى لو لم تكن موجودة عند إنشاء المشهد؛ بمعنى آخر، يمكن استخدام المباني الجاهزة لإنشاء كائنات GameObject ديناميكيًا.

دعونا ننشئ مبنى جاهزًا؛ لهذا، تحتاج إلى سحب GameObject المطلوب من التسلسل الهرمي للمشهد الخاص بك إلى أصول المشروع.

فهم المباني الجاهزة وإنشاء مثيل لها

الآن، لإنشاء مثيل لـ GameObject، نستدعي طريقة Instantiate() في البرنامج النصي الخاص بنا. هذه الطريقة متاحة في MonoBehaviour، وتأخذ GameObject كمعلمة، حتى تعرف أي GameObject تريد إنشاؤه أو تكراره. كما أن لديها تجاوزات مختلفة لتغيير تحويل الكائن الذي تم إنشاء مثيل له حديثًا، بالإضافة إلى التربية.

الآن قم بإنشاء برنامج نصي جديد يسمى Instantiator.cs وانسخ الكود التالي فيه.

 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Instantiator : MonoBehaviour { public GameObject Diamond; // Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Space)) { Instantiate(Diamond); } } } 

في البرنامج أعلاه، استخدمنا طريقة GetKeyDown لفئة الإدخال للتحقق مما إذا كان اللاعب قد ضغط على زر معين أثناء الإطار الأخير. تُرجع طريقة GetKeyDown() القيمة true إذا تم الضغط على المفتاح المحدد بواسطة تعداد KeyCode (الذي يُستخدم لسرد جميع المفاتيح الممكنة على لوحة المفاتيح القياسية) في هذا الإطار.

احفظ البرنامج النصي. والآن، قم بإنشاء GameObject فارغًا عن طريق النقر بزر الماوس الأيمن على المشهد من علامة التبويب Hierarchy.

فهم المباني الجاهزة وإنشاء مثيل لها

قم بإرفاق ملف البرنامج النصي هذا (Instantiator.cs) بمكون GameObject الذي تم إنشاؤه حديثًا من علامة التبويب Inspector.

الآن، في المتغير Diamond اسحب هذا المبنى الجاهز الذي أنشأناه.

فهم المباني الجاهزة وإنشاء مثيل لها

عندما تقوم بتشغيل اللعبة الآن، سيؤدي الضغط على مفتاح المسافة إلى إنشاء كائن ماسي جديد مماثل لذلك الذي استخدمناه لإنشاء المبنى الجاهز. يمكنك رؤية كل ماسة يتم إنشاؤها في التسلسل الهرمي للكائنات. السبب وراء عدم ظهورهم في اللعبة هو أنه في الوقت الحالي، يتم إنشاءهم جميعًا بشكل واحد فوق الآخر. ولكن يمكنك التحقق من ذلك من علامة التبويب 'التسلسل الهرمي'. في كل مرة تضغط فيها على شريط المسافة، سيظهر في علامة التبويب على شكل معين (استنساخ).

فهم المباني الجاهزة وإنشاء مثيل لها