משתנים ששומרים ערכים
חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 5 מתוך 85.
Unity קוראת ל־Update() בכל פריים, וכל קריאה מתחילה מחדש: משתנה שנוצר בתוך מתודה נזרק כשהמתודה מסתיימת. לכן המונה הזה לעולם לא עובר את 1:
void Update()
{
int frames = 0;
frames++;
}frames++ מוסיף 1, וזו הדרך הקצרה לכתוב frames += 1. אבל בפריים הבא שוב מתבצעת int frames = 0;, והספירה מתחילה מחדש.
כדי לזכור ערך מפריים אחד לבא אחריו, צרו את המשתנה בתוך המחלקה, אבל מחוץ לכל מתודה. משתנה כזה נקרא שדה: הוא מתקיים כל עוד האובייקט קיים, וכל מתודה במחלקה יכולה להשתמש בו.
int frames = 0;
void Update()
{
frames++;
}עכשיו frames ממשיך לספור: 1, 2, 3 וכן הלאה, עוד אחד בכל פריים.
אתגר
קלגרמו לצמח להמשיך לגדול.
- גזרו את השורה
int frames = 0;מתוךUpdate(). - הדביקו אותה מעל
void Update(), בתוך המחלקה, כך ש-framesיהפוך לשדה שזוכר את הערך שלו.
לחצו על "שחק": הצמח גדל מעט בכל פריים. לאחר מכן לחצו על "בדיקה".
נסו בעצמכם
using UnityEngine;
public class Grower : MonoBehaviour
{
void Update()
{
int frames = 0;
frames++;
transform.localScale = new Vector3(1, 1 + frames * 0.01f, 1);
}
}
כל השיעורים ביחידה יסודות הסקריפטים ב-Unity
1יסודות C# ב-Unity
שלום, Unityמשתניםמספרים עשרוניים צריכים fטקסט ב-Consoleמשתנים ששומרים ערכיםאם ואחרתהשוואת מספריםחזרה: אוסף המטבעות5וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן8אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהחזרה: מתג תאורה6טרנספורמציות והיררכיה
הורים וילדיםלהניף את הדגלקנה מידהלהסתכל על דבריםלנוע לעבר נקודהסיכום: הירח המקיף12מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: יומן מחזור החייםתרגלו בעצמכם: Unity אונליין