Menu
CoddyTech

مراجعة: مجموعة الرصاصات

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

يُبقي التجميع الكائنات المعطّلة جاهزة بدلًا من تدميرها. هنا تأتي طلقات الدبابة من ObjectPool في Unity، وتعود إليه بعد كل طلقة.

challenge icon

التحدي

متوسط

اجعل الدبابة تطلق رصاصات من مجموعة الكائنات.

  1. في Awake الخاص بـ Tank، أنشئ ObjectPool<Bullet>: فعّل الرصاصة عند أخذها، وعطّلها عند إعادتها، ودمّرها عند التخلص منها، واجعل maxSize: 4.
  2. عند الضغط على مفتاح المسافة، احصل على رصاصة واجعلها على بُعد وحدة واحدة أمام الدبابة، ومرّر إليها المجموعة.
  3. تتحرك Bullet في اتجاه +z بسرعة speed؛ وتعيد الرصاصة نفسها إلى المجموعة بعد life ثانية من كل طلقة، أو عند إصابة Target (استدعِ Hit()).

اضغط على «العب» وأطلق النار على كلا الهدفين. ثم اضغط على «تحقق».

جرّب بنفسك

using UnityEngine;
using UnityEngine.Pool;

public class Bullet : MonoBehaviour
{
    public float speed = 15f;
    public float life = 1f;

    // تحرّك إلى الأمام؛ عُد إلى التجمع عند الاصطدام بـ Target، أو بعد مرور life ثانية
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

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

تدرّب بنفسك: Playground لـ Unity