חזרה: צריח מודולרי
חלק מהיחידה ארכיטקטורת משחקים ב-Unity במסלול ה-Unity של Coddy. שיעור 5 מתוך 64.
אתגר
קלבנו את הנשק של Turret1. TurretControl ו-Cannon מוכנים.
- ב-
Ammo, כתבוpublic bool Take(): השתמשו בפגז והחזירוtrue, או רשמו ביומןname + " is empty"והחזירוfalse. - הפכו את
Weaponלמופשט עם[RequireComponent(typeof(Ammo))], ואתFire()ל-protected abstractללא גוף. 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
1רכיבים, לא היררכיות
רכיבים קטניםסקריפט בסיסי לאויברכיבים מופשטיםרכיבים שפועלים יחדחזרה: צריח מודולריחזרה: תותח כפול4נתונים שעברו סריאליזציה
מחלקות שניתנות לסריאליזציהרשימות ב־Inspectorטיפוסי Enum ב־Inspectorחזרה: טבלת שללהגרלת השלל2ממשקים ב-Unity
IDamageableממשקים ו-TryGetComponentGetComponentsסיכום: מקש אינטראקציהסיכום: הקרוב ביותר בטווחתרגלו בעצמכם: Unity אונליין