Menu
CoddyTech

קבלת רכיב

חלק מהיחידה יסודות התכנות ב-Unity במסלול ה-Unity של Coddy. שיעור 30 מתוך 67.

GameObject הוא מכל של רכיבים: Transform, ‏MeshRenderer שמצייר אותו, קוליידר והסקריפטים שלך. GetComponent<Renderer>() מחזירה את הרכיב מהסוג הזה שנמצא על אותו אובייקט, ובאמצעותו הסקריפט שלך משנה את פעולת הרכיב. transform הוא קיצור דרך מוכן לשימוש עבור Transform; כל רכיב אחר עליך לאחזר בעצמך.

הקובייה הזאת הופכת לאדומה כשלוחצים על Space. היא מאתרת את ה-Renderer שלה פעם אחת, בתוך Start(), ושומרת אותו בשדה: GetComponent מחפשת בין רכיבי האובייקט בכל פעם שקוראים לה, והתוצאה לא משתנה.

Renderer rend;

void Start()
{
    rend = GetComponent<Renderer>();
}

void Update()
{
    if (Input.GetKeyDown(KeyCode.Space))
    {
        rend.material.color = Color.red;
    }
}

rend.material מעניק לאובייקט הזה עותק משלו של החומר בפעם הראשונה שמשתמשים בו, כך שאובייקטים אחרים שחלקו את החומר שומרים על צבעם. Unity מגדירה עבורך שמות של צבעים מסוימים, כמו Color.red, ‏Color.green, ‏Color.blue, ‏Color.yellow ו-Color.gray; ‏new Color(r, g, b) בונה כל צבע אחר, כשכל רכיב הוא בין 0 ל-1.

challenge icon

אתגר

בינוני

נורית האיתות מתחילה באדום. כל לחיצה מעבירה אותה לצבע הבא, לפי הסדר הזה: אדום, צהוב, ירוק, ואז שוב אדום, וכן הלאה.

קבלו את ה־Renderer פעם אחת, בתוך Start(), ושמרו אותו בשדה. השתמשו ב־Color.red, ב־Color.yellow וב־Color.green.

לחצו על Play, לחצו על המשחק כמה פעמים, ואז לחצו על Check.

נסו בעצמכם

using UnityEngine;

public class SignalLight : MonoBehaviour
{

    void Start()
    {
    }

    void Update()
    {
        // בכל לחיצה: אדום, אחר כך צהוב, אחר כך ירוק, ואז שוב אדום
    }
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

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