Menu
CoddyTech

חנות ומלאי

חלק מהיחידה בונים משחקים אמיתיים במסלול ה-Unity של Coddy. שיעור 54 מתוך 56.

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

כתוב שני סקריפטים: Shop על אובייקט החנות, ו-ShopItem על הכפתור של כל פריט.

challenge icon

אתגר

קשה

ה-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;
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה בונים משחקים אמיתיים