Menu
CoddyTech

כתיבת מתודה

חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 39 מתוך 85.

כבר זמן מה שאת/ה קורא/ת למתודות: Debug.Log, PlaceCrate, ו-Unity קוראת למתודות Start() ו-Update() שלך. כתיבת מתודות משלך פועלת באותו אופן:

void Shout(string word)
{
    Debug.Log(word + "!");
}

void מציין שהמתודה מבצעת פעולה ואינה מחזירה דבר. Shout הוא שמה. בתוך הסוגריים נמצאים הפרמטרים שלה: משתנים שהקורא מספק להם ערכים. Shout("Hello"); מפעילה את המתודה כאשר word מכיל את הערך "Hello", ו-Shout("Run"); מפעילה אותה שוב כאשר הוא מכיל את הערך "Run".

גם מתודה ללא פרמטרים צריכה סוגריים ריקים: void Jump(), והקריאה לה היא Jump();. מתודה יכולה לקבל כמה פרמטרים, המופרדים בפסיקים: void PlaceTile(int column, int row).

challenge icon

אתגר

בינוני

תן ל־PlaceLamp פרמטר, כדי שכל מנורה תעמוד במקום משלה.

  1. שנה את השורה הראשונה של המתודה ל־void PlaceLamp(float x), ואת המיקום שלה ל־new Vector3(x, 1, 0).
  2. ב־Start(), שנה את הקריאות ל־PlaceLamp(-3);, PlaceLamp(0); ו־PlaceLamp(3);.

לחץ על "שחק": שלוש מנורות עומדות בשורה, במרחק של 3 זו מזו. לאחר מכן לחץ על "בדיקה".

נסו בעצמכם

using UnityEngine;

public class LampRow : MonoBehaviour
{
    void Start()
    {
        PlaceLamp();
        PlaceLamp();
        PlaceLamp();
    }

    void PlaceLamp()
    {
        GameObject lamp = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
        lamp.name = "Lamp";
        lamp.transform.position = new Vector3(0, 1, 0);
        lamp.transform.localScale = new Vector3(0.3f, 1, 0.3f);
        lamp.GetComponent<Renderer>().material.color = new Color(0.3f, 0.3f, 0.35f);
    }
}

כל השיעורים ביחידה יסודות הסקריפטים ב-Unity

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