חנות ומלאי
חלק מהיחידה בונים משחקים אמיתיים במסלול ה-Unity של Coddy. שיעור 54 מתוך 56.
בין השלבים, הגיבור מבקר בחנות. שלושה פריטים ממתינים על המדף: קסדה, מגפיים וגלימה, כל אחד על כפתור שמציג את המחיר שלו, וכפתור עבודה מרוויח מטבעות עבור הפריטים שהגיבור עדיין לא יכול להרשות לעצמו. מה שהגיבור קונה נכנס למלאי שמופיע בתחתית, והמטבעות שנותרו והפריטים שבבעלותו עדיין שם בפעם הבאה שהמשחק מתחיל.
כתוב שני סקריפטים: Shop על אובייקט החנות, ו-ShopItem על הכפתור של כל פריט.
אתגר
קשהה-Inspector מעניק ל-Shop את startCoins (100), את pay (25), את coinsText, את inventoryText, את workButton ואת items, שלושת ה-ShopItems לפי סדר המדף. הוא מעניק לכל ShopItem את itemName ואת price (Helmet 40, Boots 60, Cape 120), את label (הטקסט שעל הכפתור שלו) ואת shop.
- המטבעות נשמרים תחת המפתח
Coins; שחקן שאין לו נתונים שמורים מתחיל עםstartCoins.coinsTextמציג אותם כך:Coins: 100. - כל לחיצה על Work מזכה במטבעות בשווי
pay. - פריט נמצא בבעלות השחקן כאשר המפתח
Owned_בתוספת שמו (Owned_Helmet) מכיל את הערך 1. בתווית שלו מופיעHelmet: 40כשהוא למכירה, ו-Helmet: ownedלאחר שהוא בבעלות השחקן. - אפשר ללחוץ על כפתור של פריט רק כל עוד הפריט אינו בבעלות השחקן ולשחקן יש לפחות את הסכום הנדרש למחירו. לחיצה עליו קונה את הפריט: המחיר מופחת מכמות המטבעות והפריט עובר לבעלות השחקן.
inventoryTextמפרט את הפריטים שבבעלות השחקן לפי סדר המדף, כך:Inventory: Helmet, Cape, או מציגInventory: empty.- כל שינוי נשמר מיד, וכל הטקסטים והכפתורים מציגים את המצב החדש.
לחצו על Play, בצעו קניות ועבדו, לחצו על Stop ואז שוב על Play, ולבסוף לחצו על Check.
נסו בעצמכם
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class Shop : MonoBehaviour
{
public int startCoins = 100;
public int pay = 25;
public TMP_Text coinsText;
public TMP_Text inventoryText;
public Button workButton;
public ShopItem[] items;
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה בונים משחקים אמיתיים
10פרויקט: משחק פלטפורמה תלת־ממדי
המסלולפלטפורמות נעות