הסרת האחרון שנוצר
חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 66 מתוך 85.
הפריט החדש ביותר ברשימה הוא האחרון בה, באינדקס Count - 1. הוצא אותו באמצעות Remove, ובדוק קודם אם Count > 0: ברשימה ריקה אין פריט אחרון, וניסיון לקרוא פריט כזה עוצר את הסקריפט עם ArgumentOutOfRangeException.
if (coins.Count > 0)
{
GameObject last = coins[coins.Count - 1];
coins.Remove(last);
Destroy(last);
}הסרת פריט מהרשימה אינה משפיעה על האובייקט שבסצנה: הסתר או השמד אותו בעצמך.
אתגר
בינוניגרום למקש הרווח להחזיר את הקופסה החדשה ביותר.
- בתוך
Update(), בעתInput.GetKeyDown(KeyCode.Space)ורק כאשרboxes.Count > 0, קבל אתGameObject newest = boxes[boxes.Count - 1];. - הסתר אותה באמצעות
newest.SetActive(false);והסר אותה באמצעותboxes.Remove(newest);. - רשום ביומן את
"Boxes: " + boxes.Count.
לחץ על "שחק", לחץ שלוש פעמים ואז לחץ על מקש הרווח: הקופסה האחרונה נעלמת. לאחר מכן לחץ על "בדיקה".
נסו בעצמכם
using System.Collections.Generic;
using UnityEngine;
public class BoxStacker : MonoBehaviour
{
public GameObject boxPrefab;
List<GameObject> boxes = new List<GameObject>();
void Update()
{
if (Input.GetMouseButtonDown(0))
{
Vector3 spot = transform.position + new Vector3(boxes.Count * 1.5f, 0, 0);
GameObject box = Instantiate(boxPrefab, spot, Quaternion.identity);
boxes.Add(box);
Debug.Log("Boxes: " + boxes.Count);
}
// Space: הסתר את הקופסה החדשה ביותר והסר אותה מהרשימה
}
}
כל השיעורים ביחידה יסודות הסקריפטים ב-Unity
1יסודות C# ב-Unity
שלום, Unityמשתניםמספרים עשרוניים צריכים fטקסט ב-Consoleמשתנים ששומרים ערכיםאם ואחרתהשוואת מספריםחזרה: אוסף המטבעות5וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן8אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהחזרה: מתג תאורה11פריפאבים ויצירת מופעים
פריפאבים ויצירת מופעיםיצירה לפי טיימריצירה ברשתרשימות של אובייקטיםהסרת האחרון שנוצרהשמדהיצירות אקראיותסיכום: זיקוקים6טרנספורמציות והיררכיה
הורים וילדיםלהניף את הדגלקנה מידהלהסתכל על דבריםלנוע לעבר נקודהסיכום: הירח המקיף12מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: יומן מחזור החייםתרגלו בעצמכם: Unity אונליין