El personaje y el controlador

1

Introducción: De la idea al desarrollo

2

Estructura de carpetas en Unity

3

Assets, Game Objects y Sprite Atlas

4

Animaciones desde un sprite map

5

Animation Controller y Transiciones

6

Plataformas y gravedad

7

Física en Unity

8

El script de control

9

Programando funciones en C# y Unity: Jump

10

Detectar el suelo con Raycast

11

Herramientas de debugging visual

12

Cambiar las animaciones según los estados

13

Reto: Terminando nuestras animaciones

14

Solución del reto

15

Hacer que el personaje camine

El manager del videojuego

16

Cómo funciona el Game Manager

17

El Singleton

18

El modo de juego

19

Input manager y juegos multiplataforma

20

Corrección del Bug del salto

21

La zona de muerte

22

Reiniciar la partida

23

Corrigiendo los bugs al reiniciar nuestro juego

Diseño procedural de niveles 2D

24

El diseño de niveles a mano

25

Configurando nuestros assets para el diseño procedural

26

Generación procedural de niveles

27

Creando la zona que eliminará bloques del nivel excedentes

28

Añadir un nuevo bloque de forma aleatoria

29

La cámara que sigue al jugador

30

Destrucción de bloques antiguos

31

Terminando de programar la destrucción de bloques antiguos

32

Solucionando el salto de la cámara al reiniciar el juego

HUD, menús y gameplay

33

El canvas en Unity

34

Uso de botones para crear un menú

35

La lógica de los menús

36

Ejercicio: Preparando el menú del juego

37

Programando el menú del juego

38

Los coleccionables del juego

39

Actualizar UI de coleccionables

40

Iniciando con pociones y maná

41

Pociones de vida y maná

42

Programando las barras de vida y maná

43

Calculando los puntajes con la distancia y el tiempo de juego

44

La lógica del maná

Enemigos y dificultad

45

Plataformas móviles

46

Iniciar movimiento de la plataforma con trigger

47

Enemigos móviles

48

Enemigos móviles: preparando nuestro enemigo para girar

49

Enemigos móviles: programando que gire al chocar

50

Arreglando el collider de nuestra roca

51

Programando la condición de muerte del personaje

52

Añadiendo música de fondo a nuestro videojuego

53

Añadiendo efectos de sonido y cierre del curso

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de C# para Videojuegos

Curso de C# para Videojuegos

Juan Gabriel Gomila

Juan Gabriel Gomila

Generación procedural de niveles

26/53
Recursos

Aportes 12

Preguntas 8

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

La diferencia entre los humanos y los robots es la capacidad de repetir y repetir las mismas acciones tantas veces como sea necesario, y, hacerlo de la misma manera todas las veces si así lo requerimos. Los humanos no pueden hacer lo mismo más de 5 veces sin cansarse, equivocarse o rebelarse.
- Juan Gabriel Gomila

#Epic!

NOTA: Cada Level Block tiene su propio prefab y hay que darle su propio script de LevelBlock, así como de pasarle su StartPoint y EndPoint al script. (Arrastrarlos a los dos espacios de las variables públicas que creamos en el script)

Lo comento porque cuando quería agregar mi Level Block 0 a la Lista de levelBlocks del script del LevelManager (arrastrándolo), no me dejaba. Tardé en darme cuenta de que le hacía falta el script de LevelBlock a mi prefab de Level Block 0, así que ahí está el tip para los que tengan el mismo problema.

Arrays y Listas = Guardar colecciones pero…

Un Array es estático, no puedes añadir. Te quedas con lo declarado.
Una Lista es dinámica. puedes estar añadiendo y quitando

Cuando elaboramos juegos, que tanto creamos nuestras propias librerías con sus respectivas funciones? por que si y por que no las hacemos?

En mi interfaz de unity no se estan mostrando las variables All The Level Blocks y Current Level Blocks, solo se muestra start position, si creo una variable nueva si la muestra, pero esas no.

< 
    public static LevelManager sharedInstance;
    public List<LevelBlock> allTheLevelBlocks = new List<LevelBlock>();
    public List<LevelBlock> currentLevelBlocks = new List<LevelBlock>();
    public Transform levelStartPosition;
>

NOTA: Los arrays y las Listas son Objetos para guardar colecciones de GameObjet…

La LISTA es DINAMICA … puede cambiar su tamaño a diferencia de los ARRAYS que tienen un tamaño predeterminado.

No puedo ver la sección de Recursos/Archivos en este video para poder usar los assets que menciona Juan al inicio del video.

Por si a alguien le interesa, pueden hacer en lugar de

if (sharedInstance == null){
	sharedInstance = this
}

Pueden usar el Null aware assignment

sharedInstance ??= this;

Ambos son lo mismo

** Procedimental

Hola, que tal.
Estoy haciendo un Endless Runner 3D para Android, tengo un problema con la generacion de obstaculos, ya que se generan infinitamente.
Dejo el link de mi problema detallado:
https://answers.unity.com/questions/1809354/how-to-recycle-obstacles-in-an-endless-runner.html

Gracias!

Genial

![](