Interesante el curso, muy desafiante el nivel del código escrito
La estructura de un juego para móvil
Qué aprenderás sobre el desarrollo de videojuegos para móviles
Presentación y Game Design de nuestro proyecto
IMPORTANTE: Archivos del curso
Estructura de carpetas y assets en Unity
Sprite Atlas y Generación de Caramelos
Sprite Atlas: El fondo del escenario
Sprite Atlas: Los dulces
El script de los dulces
El Manager del tablero o Grid Manager
Inicialización del tablero
Ejercicio: cortar caramelos
Configurar el manager de dulces
Añadir caramelos de forma aleatoria
Diseño de Game Play
Verificar y evitar caramelos repetidos
Selección de los caramelos
Swapping de Caramelos
Caramelos vecinos
Comprobar 3 en raya
Detectar coincidencias y destruir caramelos
Bajar caramelos en cascada cuando un grupo es eliminado
Generar caramelos aleatorios para completar los espacios vacíos
Eliminar los grupos de caramelos similares que se generan al completar los espacios vacíos (combos)
Retos finales
Trabajando la interfaz de nuestro videojuego
Contar los movimientos restantes y la puntuación
Implementando puntuación en nuestro juego
Reto: Pantalla de Game Over
Reto: Nuevos niveles de dificultad
Reto: Audio de los caramelos
Reto: Movimiento de los Caramelos con Animaciones
Reto: Menú Principal
Cierre del curso
Preparando nuestro juego para exportarlo
Probando nuestro juego en dispositivos móviles y Conclusiones
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Juan Gabriel Gomila
Aportes 10
Preguntas 0
Interesante el curso, muy desafiante el nivel del código escrito
Este bug lo tenemos TODOS
Yo nada mas agregué este código en Candy.cs para lo que hicimos en esta clase:
void FixedUpdate()
{
FindAllMatches();
}
En el anterior vídeo se quedaron en generar los caramelos aleatorios, en este se saltaron la explicación de los métodos “FindNullCandies”,“MakeCandiesFall”, etc. Al parecer olvidaron subir un capitulo.
¡Awwñññish!
Para aquellos que, los nuevos caramelos cuando los juntan con otro caramelo del mismo tipo, no se destruye, es porque (en mi caso) no se actualiza el ID del caramelo una vez que se coloca un nuevo sprite al llamar al metodo “GetNewCandy(int x, int y)”
lo que hice fue:
private int GetCandyId(Sprite sprite)
{
/* Ciclo para recorrer los prefabs, seria mejor aplicar LINQ*/
for(int i = 0; i < prefabs.Count; i++)
{
if (sprite == prefabs[i]) return i; //retornamos id
}
return -1; // por seguridad retuornamos -1 si no encontro nada
}
estemetodo lo llamo justo antes de asignar el nuevo sprite al candy de la siguiente forma…
// dentro del bucle for de MakeCandiesFall
Sprite spriteCandy = GetNewCandy(x, ySize -1);
int idCandy = GetCandyId(spriteCandy);
//1. asignas el sprite al candy
//agregas esta logica
listCandies[x + 1].GetComponent<Candy>().id = idCandy;
Voy a tener que haccer un mapa mental gigante del funcionamiento del codigo para entender mejor
Que inteligente es el profe!
Genial
puede ser que el DNI o cedula o identificador o id que se creo para el Candy que se dijo al principio que era importante se dejo sin ser utilizado?
porque la determinacion del match se hace en base a los sprites y no en base al id.
gracias
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?