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

תרגלו בעצמכם: Unity אונליין