Menu
CoddyTech

חיבור וקטורים

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

אפשר לשמור Vector3 במשתנה, ושני וקטורים כאלה מתחברים באמצעות +: רכיב x מתחבר לרכיב x, רכיב y לרכיב y ורכיב z לרכיב z. כך שתי דחיפות משתלבות לתנועה אחת. כדור החוף הזה מתגלגל קדימה במהירות של 2 יחידות לשנייה, בעוד הרוח דוחפת אותו ימינה במהירות של יחידה אחת לשנייה:

Vector3 roll = new Vector3(0, 0, 2);
Vector3 wind = new Vector3(1, 0, 0);

void Update()
{
    Vector3 move = roll + wind;   // (1, 0, 2)
    transform.position += move * Time.deltaTime;
}

כפל של וקטור במספר מכפיל כל אחד מהרכיבים שלו: wind * 3 הוא (3, 0, 0), כלומר סערה, ו-move * Time.deltaTime ממיר תנועה לשנייה לתנועה של הפריים הנוכחי. גם חיסור פועל רכיב אחר רכיב, ו-a - b הוא הצעד שמוביל מנקודה b לנקודה a. אין * בין שני וקטורים: הביטוי roll * wind לא מתקמפל.

challenge icon

אתגר

קל

הזרם של הנהר תמיד סוחף את הסירה. כל עוד מקש החץ למעלה לחוץ, גם motor של הסירה דוחף אותה, בנוסף לזרם. שניהם מתארים תנועה ביחידות לשנייה, המוגדרות ב-Inspector: הזרם הוא (1, 0, 0) והמנוע (0, 0, 3).

לחצו על Play וחצו את הנהר באמצעות החץ למעלה, ואז לחצו על Check.

נסו בעצמכם

using UnityEngine;

public class Boat : MonoBehaviour
{
    public Vector3 current = new Vector3(0, 0, 0);
    public Vector3 motor = new Vector3(0, 0, 0);

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

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

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