كيفية صنع لعبة مدفع في الوحدة

يعد إنشاء لعبة مدفع في Unity طريقة رائعة لتعلم أساسيات تطوير اللعبة. في هذا البرنامج التعليمي، سنقوم بإنشاء لعبة بسيطة حيث يمكن للاعب التصويب وإطلاق المدفع لإصابة الأهداف. سنغطي إعداد المشروع وإنشاء المدفع والتحكم فيه وإضافة الأهداف.

الخطوة 1: إعداد المشروع

أولاً، افتح Unity وأنشئ مشروعًا جديدًا ثنائي الأبعاد. قم بتسمية مشروعك "CannonGame". بمجرد إنشاء المشروع، ستكون في نافذة المحرر الرئيسية Unity.

الخطوة 2: إنشاء المدفع

نحن بحاجة إلى تمثيل مرئي للمدفع. يمكنك إنشاء كائن مستطيل بسيط ليكون بمثابة مدفعك. لفعل هذا:

  1. انقر بزر الماوس الأيمن في نافذة Hierarchy وحدد إنشاء فارغ. سمها "Cannon".
  2. انقر بزر الماوس الأيمن على الكائن "Cannon" وحدد 2D Object -> Sprite. سمها "CannonSprite".
  3. في نافذة Inspector، انقر فوق الحقل Sprite وحدد كائنًا لمدفعك.

ضع المدفع في أسفل الشاشة عن طريق ضبط موضعه على (0, -4, 0) في المكون Transform.

الآن، قم بإنشاء برنامج نصي للتحكم في المدفع. انقر بزر الماوس الأيمن فوق المجلد Assets، وحدد Create -> C# Script، وقم بتسميته "CannonController". انقر نقرًا مزدوجًا فوق البرنامج النصي لفتحه في محرر التعليمات البرمجية الخاص بك.

// CannonController.cs
using UnityEngine;

public class CannonController : MonoBehaviour
{
    public GameObject cannonballPrefab;
    public float shootForce = 700f;

    void Update()
    {
        Aim();
        if (Input.GetButtonDown("Fire1"))
        {
            Shoot();
        }
    }

    void Aim()
    {
        Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        Vector2 direction = new Vector2(mousePosition.x - transform.position.x, mousePosition.y - transform.position.y);
        transform.up = direction;
    }

    void Shoot()
    {
        GameObject cannonball = Instantiate(cannonballPrefab, transform.position, transform.rotation);
        Rigidbody2D rb = cannonball.GetComponent();
        rb.AddForce(transform.up * shootForce);
    }
}

الخطوة 3: إنشاء المدفع

نحن بحاجة إلى إنشاء كرة مدفع حتى يطلق المدفع النار. إليك الطريقة:

  1. انقر بزر الماوس الأيمن في نافذة Hierarchy وحدد 2D Object -> Sprite. سمها "Cannonball".
  2. في نافذة Inspector، انقر فوق الحقل Sprite وحدد كائنًا لقذيفة المدفع الخاصة بك.
  3. قم بإضافة مكون Rigidbody2D إلى قذيفة المدفع بالنقر فوق Add Component وتحديد Rigidbody2D.
  4. قم بإضافة مكون CircleCollider2D إلى قذيفة المدفع بالنقر فوق Add Component وتحديد CircleCollider2D.

بعد ذلك، اسحب قذيفة المدفع من Hierarchy إلى المجلد Assets لإنشاء مبنى جاهز. سيتم استخدام هذا المدفع الجاهز لإطلاق قذائف المدفع.

في نافذة Inspector للبرنامج النصي CannonController (المرفق بكائن Cannon)، قم بتعيين الحقل CannonballPrefab إلى الهيكل الجاهز لقذيفة المدفع.

الخطوة 4: إنشاء الأهداف

دعونا نضيف بعض الأهداف التي يمكن للاعب إطلاق النار عليها:

  1. انقر بزر الماوس الأيمن في نافذة Hierarchy وحدد 2D Object -> Sprite. سمها "Target".
  2. في نافذة Inspector، انقر فوق الحقل Sprite وحدد كائنًا لهدفك.
  3. قم بإضافة مكون BoxCollider2D إلى الهدف بالنقر فوق Add Component وتحديد BoxCollider2D.

قم بتكرار الهدف من خلال النقر بزر الماوس الأيمن عليه وتحديد Duplicate. ضع الأهداف حول الشاشة.

الخطوة 5: التعامل مع الاصطدامات

نحن بحاجة إلى التعامل مع ما يحدث عندما تصيب قذيفة مدفعية الهدف. قم بإنشاء برنامج نصي يسمى "Target" لإدارة هذا:

  1. انقر بزر الماوس الأيمن فوق المجلد Assets، وحدد Create -> C# Script، وقم بتسميته "Target".
  2. انقر نقرًا مزدوجًا فوق البرنامج النصي لفتحه في محرر التعليمات البرمجية الخاص بك.
// Target.cs
using UnityEngine;

public class Target : MonoBehaviour
{
    void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.CompareTag("Cannonball"))
        {
            Destroy(gameObject);
        }
    }
}

قم بإرفاق البرنامج النصي الهدف بجميع الكائنات المستهدفة. تأكد من أن منشأتك الجاهزة لقذائف المدفع تحمل العلامة "Cannonball".

خاتمة

باتباع هذه الخطوات، تكون قد أنشأت لعبة مدفع بسيطة في Unity. لقد تعلمت كيفية إعداد مشروع وإنشاء مدفع والتحكم فيه وإضافة الأهداف. يغطي هذا المشروع المفاهيم الأساسية لتطوير اللعبة مثل إنشاء الكائنات وإدخال المستخدم والفيزياء واكتشاف الاصطدام. يمكنك تحسين هذه اللعبة بشكل أكبر عن طريق إضافة ميزات مثل التسجيل والمستويات وأنواع مختلفة من الأهداف. استمتع بالتجربة ومعرفة المزيد عن Unity!