// Método
Instantiate();
// tomar un objeto (GameObject o prefab) y lo instancia
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 5
Preguntas 1
// Método
Instantiate();
// tomar un objeto (GameObject o prefab) y lo instancia
Es muy interesante la lógica del método para crear y rellenar el tablero
private void CreateInitialBoard(Vector2 offset)
{
candies = new GameObject[xSize, ySize];
float startX = this.transform.position.x;
float startY = this.transform.position.y;
for(int x = 0; x < xSize; x++)
{
for(int y = 0; y < ySize; y++)
{
GameObject newCandy = Instantiate(currentCandy,
new Vector3(startX + (offset.x * x),
startY + (offset.y * y),
0),
currentCandy.transform.rotation);
newCandy.name = string.Format("Candy[{0}][{1}]", x, y);
candies[x, y] = newCandy;
}
}
}
Dejo aquí el método:
void CreateInitialBoard(Vector2 offset)
{
candies = new GameObject[xSize, ySize];
float startX = this.transform.position.x;
float startY = this.transform.position.y;
for(int x = 0; x < xSize; x++) // Rows
{
for(int y = 0; y < ySize; y++) // Columns
{
GameObject newCandy = Instantiate(
currentCandy,
new Vector3(
startX + (offset.x * x),
startY + (offset.y * y),
0
),
currentCandy.transform.rotation
);
newCandy.name = string.Format("Candy [{0}] [{1}]", x, y);
candies[x, y] = newCandy;
}
}
}
Otra manera de escribir un string sin el “string.Format” es la siguiente:
int x = 1; //ejemplo de variable x
int y = 1; //ejemplo de variable y
newCandy.name = $"Candy {x}, {y}";
Genial
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?