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
En la mecánica de los juegos Max 3, las animaciones juegan un papel fundamental para mejorar la experiencia del usuario. Más allá de simplemente mover y eliminar piezas, un buen diseño de animaciones puede hacer el juego más atractivo y fluido. En esta sección, aprenderemos cómo implementar animaciones para las piezas cuando aparecen y desaparecen en el juego, mejorando así su impacto visual.
Para comenzar, nos enfocaremos en mejorar la animación al momento en que una pieza aparece en el juego. Siguiendo con el desarrollo en Unity, nos dirigiremos a la clase Piece
. Será aquí donde aprovecharemos las herramientas de animación para manipular el tamaño de las piezas al ser creadas.
Reducción inicial del tamaño: Al crear una pieza, comenzará siendo más pequeña de lo normal. Utilizamos la librería de animación DOTween para establecer el localScale
del transform a un 35% de su tamaño normal (Vector3.one multiplicado por 0.35).
Escalado a tamaño completo: Implementaremos una transición suave para que la pieza alcance su tamaño completo (Vector3.one) en un tiempo de 0.35 segundos.
transform.localScale = Vector3.one * 0.35f;
transform.DOScale(Vector3.one, 0.35f);
Al eliminar una pieza, la manera en que se anima su desaparición impacta significativamente en la percepción del juego. La animación de eliminación se divide en dos fases:
Crecimiento temporal: Primero, la pieza crecerá un 20% más de su tamaño normal (usando un multiplicador de 1.2) en un breve lapso de 0.085 segundos. Esta pequeña expansión hace que la animación sea más llamativa.
Disminución a cero: Luego, la pieza se reducirá a un tamaño de cero (Vector3.zero) en 0.1 segundos, haciendo que desaparezca visualmente antes de eliminar el objeto del juego.
Rotación adicional: También añadiremos una rotación de -120° en el eje z durante 0.12 segundos para enriquecer la animación de eliminación.
transform.DOScale(Vector3.one * 1.2f, 0.085f).OnComplete(() => {
transform.DOScale(Vector3.zero, 0.1f).OnComplete(() => {
Destroy(gameObject);
});
});
transform.DORotate(new Vector3(0, 0, -120), 0.12f);
Además de las animaciones de aparición y desaparición, podemos mejorar la entrada de las piezas ajustando el punto donde son creadas. En la función clearPieces
, cuando se instancian las piezas, éstas se crean una unidad más arriba de su destino y luego se desplazan hacia el lugar correcto. Así, al aparecer, las piezas se deslizan con suavidad a su posición final, ofreciendo un efecto más dinámico y atractivo.
// Crear la pieza un poco más arriba
Vector3 spawnPosition = new Vector3(x, y + 1, 0);
piece.transform.position = spawnPosition;
// Mover la pieza a su destino
piece.transform.DOMove(new Vector3(x, y, 0), 0.35f);
Al implementar estos cambios, el juego no solo se verá más profesional, sino que también se sentirá más satisfactorio al interactuar con las compleciones de match y la dinámica visual añadida por la animación. ¡Prueba estos ajustes y observa cómo tu juego cobra vida!
Aportes 0
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?