Menu
CoddyTech

Tienda e inventario

Parte de la sección Creación de juegos reales del Journey de Unity de Coddy. Lección 54 de 56.

Entre niveles, el héroe visita una tienda. Tres artículos esperan en el estante: un casco, unas botas y una capa, cada uno en un botón que muestra su precio, y un botón de trabajo permite ganar monedas para comprar los que el héroe aún no puede permitirse. Lo que compra el héroe se añade al inventario que aparece en la parte inferior, y las monedas restantes y los artículos que posee siguen ahí la próxima vez que se inicie el juego.

Escribe dos scripts: Shop en el objeto Shop y ShopItem en el botón de cada artículo.

challenge icon

Desafío

Difícil

El Inspector proporciona a Shop startCoins (100), pay (25), coinsText, inventoryText, workButton e items, los tres ShopItems en el orden de los estantes. Proporciona a cada ShopItem su itemName y price (Helmet 40, Boots 60, Cape 120), label (el texto de su botón) y shop.

  • Las monedas se guardan con la clave Coins; un jugador que no tenga nada guardado empieza con startCoins. coinsText las muestra como Coins: 100.
  • Cada clic en Work permite ganar pay monedas.
  • Un artículo es propiedad del jugador cuando la clave Owned_ más su nombre (Owned_Helmet) tiene el valor 1. Su etiqueta muestra Helmet: 40 mientras está a la venta y Helmet: owned una vez que es suyo.
  • Solo se puede hacer clic en el botón de un artículo cuando el artículo no es propiedad del jugador y este tiene al menos el precio del artículo. Al hacer clic, se compra el artículo: el precio se descuenta de las monedas y el artículo pasa a ser suyo.
  • inventoryText enumera los artículos que son propiedad del jugador en el orden de los estantes, como Inventory: Helmet, Cape, o muestra Inventory: empty.
  • Cada cambio se guarda inmediatamente, y todos los textos y botones muestran el nuevo estado.

Pulsa Play, compra y trabaja, pulsa Stop y Play de nuevo; después, Check.

Pruébalo tú mismo

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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Creación de juegos reales