No cabe duda que todos los días se aprende algo nuevo, no tenía idea del uso de los override para modificar variantes de prefabs, fascinante!
Introducción
Bienvenida y presentación del proyecto
Instalación de los SDKs
Empezando Nuestro Proyecto
Inicializar el proyecto
Control de versiones
Importando nuestros assets
Teoría de Gameplay
Como resolver problemas de gameplay
Match 3 simplificado
Mecánica Principal
Creando la cuadrícula
Ajustando la cámara
Sistema de coordenadas para instanciar las piezas
Instanciando las piezas en la cuadrícula
Moviendo las piezas
Intercambiando las piezas de lugar
Permitiendo solo ciertos tipos de movimientos
Creando las funciones del match 3
Usando el match 3 en nuestro juego
Eliminando los matches por defecto
Colapsando las piezas
Match 3 combo
Rellenando las piezas
Mejorando la animación de las piezas
Publicacion
Momento del primer build para Android
Momento del primer build para iOS
Diseño del juego
Hablemos de diseño
Agregando un sistema de puntos
Sistema de tiempo
Interfaz para el sistema de tiempo
Creando sistema de UI
Pantalla de game over
Agregando funcionalidad a la pantalla de game over
Reiniciando el juego
Agregando audio
Terminando el juego
Conclusiones
Conclusiones del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Al sumergirnos en el mundo de la programación en Unity, uno de los pasos fundamentales es aprender a crear y configurar componentes que den vida a nuestros proyectos. En esta guía, te mostraré cómo crear un componente simple para piezas de un juego, integrarlo en la cuadrícula del tablero, y gestionar variaciones de prefabs de manera sencilla. ¡Vamos allá!
Para comenzar el desarrollo de tu componente, necesitarás crear y editar un script en C# que represente las piezas del juego:
En el script "Piece", define las propiedades esenciales que tendrá cada pieza, como la posición en el tablero y el tipo de pieza:
public int X, Y
: Almacenan la posición en la cuadrícula.public Board board
: Referencia a la cuadrícula en la que estarán las piezas.public enum Type
: Enumera los diferentes tipos de piezas (elefante, jirafa, etc).Aquí un ejemplo del enum en C#:
public enum Type
{
Elephant,
Giraffe,
Hippopotamus,
Monkey,
Panda,
Parrot,
Penguin,
Pig,
Rabbit,
Snake
}
Se requiere una función para inicializar los valores y configurar las piezas cuando se crean:
public void Setup(int x, int y, Board board)
{
this.X = x;
this.Y = y;
this.board = board;
}
Después de configurar las propiedades del script, el siguiente paso es crear los prefabs para las piezas:
Para crear variantes, sigue estos pasos:
Repite este proceso para cada sprite/pieza que tengas.
En la clase Board
, es necesario actualizar el tablero para que coloque estas piezas en la cuadrícula:
Define un array de objetos:
public GameObject[] availablePieces;
Implementa el método SetupPieces()
para llenar la cuadrícula:
UnityEngine.Random.Range()
para asegurar selección aleatoria:var selectedPiece = availablePieces[UnityEngine.Random.Range(0, availablePieces.Length)];
Si tus piezas no son visibles, puede ser un problema de orden de renderizado de sprites. Para solucionarlo:
Sprite Renderer
del prefab en el panel de Unity:
orderingLayer
a un valor mayor que el de los tiles, por ejemplo 5.Al gestionar adecuadamente el orden de renderizado, te aseguras de que los sprites de las piezas se muestren correctamente sobre la cuadrícula.
Al seguir estos pasos, no solo crearás un sistema funcional para tus piezas de juego, sino que también habrás desarrollado una base sólida para continuar expandiendo las funcionalidades de tu juego en Unity. ¡Adelante, sigue explorando y mejorando tu proyecto!
Aportes 4
Preguntas 0
No cabe duda que todos los días se aprende algo nuevo, no tenía idea del uso de los override para modificar variantes de prefabs, fascinante!
Me está gustando mucho el curso, por ahora no estoy teniendo problemas, había usado Unity anteriormente hace tiempo pero lo dejé, ahora quiero retomarlo aunque estoy algo preocupado por la última liada de Unity con las nuevas cuotas.
Por cierto, gran profesor!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?