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.
Desafío
DifícilEl 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 constartCoins.coinsTextlas muestra comoCoins: 100. - Cada clic en Work permite ganar
paymonedas. - Un artículo es propiedad del jugador cuando la clave
Owned_más su nombre (Owned_Helmet) tiene el valor 1. Su etiqueta muestraHelmet: 40mientras está a la venta yHelmet: owneduna 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.
inventoryTextenumera los artículos que son propiedad del jugador en el orden de los estantes, comoInventory: Helmet, Cape, o muestraInventory: 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;
}
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
1Texto en pantalla
Canvas y textoMuestra la puntuaciónDa formato a los númerosUn temporizador de cuenta regresivaRepaso: velocímetro4Escenas y niveles
Cargar una escenaReiniciar el nivelSiguiente nivelConservar entre escenasRepaso: selección de nivel10Proyecto: plataformas 3D
El recorridoPlataformas móviles2Botones y pantallas
Botones y onClickLambdasConectar en el InspectorPaneles activados y desactivadosBarras de saludRepaso: tienda de mejoras5Guardar con PlayerPrefs
Guardar un númeroCargar con un valor predeterminadoPuntuación más altaGuardar ajustesRepaso: monedas en el banco3El gestor del juego
Un solo script ejecuta el juegoEl SingletonEstados del juegoActivar el estadoRepaso: gestor de rondas6Proyecto: corredor infinito
Tres carrilesObstáculos por delante9El nuevo sistema de entrada
Dos sistemas de entradaTeclado y ratónPulsado en este fotogramaAcciones de entradaRepaso: cambio de entrada