Menu
CoddyTech

להניף את הדגל

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

אפשר לקרוא את localPosition ולשנות אותו בכל פריים, כמו את position. אובייקט צאצא שאמור לטפס לאורך אובייקט האב שלו, כמו בקתה במעלה מגדל או דגל במעלה תורן, נע לאורך localPosition ומשווה את הגובה המקומי שלו לגובה העליון, כך שהוא פועל בכל מקום שבו אובייקט האב נמצא:

if (transform.localPosition.y < 10)
{
    transform.localPosition += new Vector3(0, 2 * Time.deltaTime, 0);
}

לעומת זאת, אם משווים ל-position.y, המיקום העליון היה משתנה בכל פעם שאובייקט האב נמצא גבוה יותר או נמוך יותר.

challenge icon

אתגר

בינוני

הרימו את הדגל לראש התורן באמצעות החץ למעלה.

  1. בתוך Update(), כתבו if (Input.GetKey(KeyCode.UpArrow) && transform.localPosition.y < 4).
  2. בתוך התנאי, הוסיפו את new Vector3(0, climb * Time.deltaTime, 0) אל transform.localPosition.

לחצו על "שחק" והחזיקו את החץ למעלה: הדגל יטפס לראש התורן וייעצר. לאחר מכן לחצו על "בדיקה".

נסו בעצמכם

using UnityEngine;

public class Hoist : MonoBehaviour
{
    public float climb = 1f;

    void Start()
    {
        transform.localPosition = new Vector3(0.6f, 1, 0);
    }

    void Update()
    {
        // כל עוד מקש החץ למעלה לחוץ, טפס עד שהגובה ביחס ל-Ship יהיה 4
    }
}

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

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