Menu
CoddyTech

مراجعة: برج معياري

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

challenge icon

التحدي

سهل

أنشئ سلاح Turret1. إن TurretControl وCannon جاهزان.

  1. في Ammo، اكتب public bool Take(): استخدم قذيفة وأعِد true، أو سجّل name + " is empty" وأعِد false.
  2. اجعل Weapon مجرّدًا باستخدام [RequireComponent(typeof(Ammo))]، واجعل Fire() protected abstract بلا جسم.
  3. لا تفعل Pull() شيئًا أثناء cooldown؛ وإلا، إذا نجحت Take()، فأعِد بدء فترة التهدئة واستدعِ Fire().

اضغط «العب» وأطلق النار حتى تفرغ الذخيرة. ثم اضغط «تحقق».

جرّب بنفسك

using UnityEngine;

// ما تشترك فيه جميع أسلحة البرج.
public class Weapon : MonoBehaviour
{
    public GameObject shellPrefab;
    public float cooldown = 1f;

    public void Pull()
    {
        // انتظر حتى تنتهي فترة التهدئة، ثم خذ قذيفة من Ammo وأطلق النار
    }

    // كل سلاح يطلق النار بطريقته الخاصة.
    protected virtual void Fire()
    {
    }

    // قذيفة تنطلق من هذا الموضع كما يُرى من البرج، وتطير في الاتجاه الذي يواجهه البرج.
    protected void Launch(Vector3 offset)
    {
        Instantiate(shellPrefab, transform.position + transform.rotation * offset, transform.rotation);
    }
}

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

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