logo

הבנת Prefabs ואינסטציה

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

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

בואו נבין מה הן טרומיות; כיוון ש-prefabs נחשבות חשובות כדי להבין איך מופע עובד ב-Unity.

mysql הצג את כל המשתמשים

טרומיים הם כמו שרטוטים של GameObject. אז אנחנו יכולים לומר, Prefabs הם עותק של GameObject שניתן לשכפל ולהכניס לסצנה, גם אם היא לא הייתה קיימת בזמן יצירת הסצנה; במילים אחרות, ניתן להשתמש ב-prefabs ליצירת GameObjects באופן דינמי.

בואו ניצור טרומית; לשם כך, עליך לגרור את ה-GameObject הרצוי מההיררכיה של הסצנה שלך אל הפרויקט Assets.

השחקנית ההודית רני מוקרג'י
הבנת Prefabs ואינסטציה

כעת, כדי ליצור מופע של GameObject, אנו קוראים לשיטת Instantiate() בסקריפט שלנו. שיטה זו זמינה ב-MonoBehaviour, לוקחת GameObject כפרמטר, כך שהיא יודעת איזה GameObject ליצור או לשכפל. יש לו גם דרישות שונות לשינוי הטרנספורמציה של האובייקט החדש, כמו גם הורות.

כעת צור סקריפט חדש בשם Instantiator.cs והעתק בו את הקוד הבא.

 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Instantiator : MonoBehaviour { public GameObject Diamond; // Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Space)) { Instantiate(Diamond); } } } 

בתוכנית לעיל, השתמשנו בשיטת GetKeyDown של מחלקת Input כדי לבדוק אם הנגן לחץ על כפתור מסוים במהלך הפריים האחרון. השיטה GetKeyDown() מחזירה true אם המפתח שצוין על ידי ה-KeyCode enum (המשמש לרשימת כל המקשים האפשריים במקלדת רגילה) נלחץ במסגרת זו.

שמור את התסריט. ועכשיו, צור GameObject ריק על ידי לחיצה ימנית על הסצנה מהכרטיסייה ההיררכיה.

מיון מערכי java
הבנת Prefabs ואינסטציה

צרף את קובץ הסקריפט הזה (Instantiator.cs) לרכיב GameObject החדש שנוצר מהכרטיסייה Inspector.

עכשיו, במשתנה Diamond גרור את הטרומי הזה שיצרנו.

הבנת Prefabs ואינסטציה

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

הבנת Prefabs ואינסטציה