Menu
CoddyTech

הופעה לפי טיימר

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

מחולל שיוצר משהו מדי כמה שניות זקוק לטיימר. Time.deltaTime הוא משך הזמן שנמשכה הפריים האחרונה, ולכן צבירתו בשדה בכל Update() נותנת את מספר השניות שחלפו. כשהסכום מגיע למרווח, יוצרים מופע ומחסרים את המרווח מהסכום.

המזרקה הזאת משליכה טיפת מים בכל חצי שנייה:

public GameObject dropPrefab;
public float interval = 0.5f;
float timer;

void Update()
{
    timer += Time.deltaTime;
    if (timer >= interval)
    {
        Instantiate(dropPrefab, transform.position, Quaternion.identity);
        timer -= interval;
    }
}

timer -= interval שומר על השארית: אם הפריים הסתיימה ב־0.51 שניות, חצי השנייה הבאה מתחילה להיספר מ־0.01, והטיפות נשארות בקצב קבוע. timer = 0 היה משליך את השארית, ולכן כל טיפה הייתה מגיעה מעט באיחור והעיכוב היה מצטבר לאורך משחק ארוך. timer הוא פרטי כי אין צורך שאף אחד יגדיר אותו ב־Inspector.

challenge icon

אתגר

בינוני

ה-Dropper אמור להשליך קופסה כל interval שניות (ה-Inspector מציג 2): הקופסה הראשונה 2 שניות אחרי הלחיצה על Play, ואז קופסה נוספת כל 2 שניות.

  • צור כל קופסה במיקום של ה-Dropper, ללא סיבוב.
  • אחרי כל קופסה, רשום את המספר שלה: Box 1, Box 2 וכן הלאה.

לחץ על Play וצפה בערימה גדלה, ואז לחץ על Check.

נסו בעצמכם

using UnityEngine;

public class BoxDropper : MonoBehaviour
{
    public GameObject boxPrefab;
    public float interval = 1f;

    void Update()
    {
        // כל interval שניות: להפיל קופסה ולרשום ביומן "Box 1", "Box 2"...
    }
}
quiz iconבחנו את עצמכם

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

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