Menu
CoddyTech

חציית הכביש

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

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

כתבו את המשחק כולו בסקריפט אחד, Crossing, שמוצמד לקופץ.

challenge icon

אתגר

קשה

כתבו את הסקריפט Crossing על הופר, שמתחיל ב־z = -4, מתחת לכביש בעל שלושה נתיבים. ב־Inspector הגדירו את carPrefab (ה־prefab של המכונית), את lanes (מיקומי ה־z של הנתיבים: -2, 0 ו־2), את spawnEvery (1) ואת carSpeed (5).

  • כל לחיצה על חץ למעלה מקפיצה את ההופר 2 יחידות קדימה (+z). כל לחיצה על חץ למטה מקפיצה אותו 2 יחידות אחורה, אך לעולם לא מעבר למקום שבו התחיל.
  • כל spawnEvery שניות מופיעה מכונית ב־x = -9, y = 0.5, בנתיב אקראי מתוך lanes. המכוניות נוסעות לאורך +x במהירות של carSpeed יחידות לשנייה, ומכונית שה־x שלה גדול מ־9 מושמדת.
  • מכונית פוגעת בהופר כאשר המרחק בין מיקומי ה־x שלהם קטן מ־1.5 והמרחק בין מיקומי ה־z שלהם קטן מ־1. פגיעה מציגה ביומן Hit! ומחזירה את ההופר למקום שבו התחיל.
  • כשההופר מגיע ל־z = 4, הצד הרחוק, הציגו ביומן You made it! וכבו את הסקריפט.

לחצו על Play וחצו את הכביש, ואז לחצו על Check.

נסו בעצמכם

using System.Collections.Generic;
using UnityEngine;

public class Crossing : MonoBehaviour
{
    [SerializeField] private GameObject carPrefab;
    [SerializeField] private float[] lanes;
    [SerializeField] private float spawnEvery = 1f;
    [SerializeField] private float carSpeed = 5f;

    void Start()
    {
    }

    void Update()
    {
    }
}
quiz iconבחנו את עצמכם

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

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