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

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

3D
23H
37M
3S
Curso de C# para Videojuegos

Curso de C# para Videojuegos

Juan Gabriel Gomila

Juan Gabriel Gomila

La zona de muerte

21/53
Recursos

Aportes 14

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

TIPOS DE TRIGGERS:

  • OnTriggerEnter2D: Lo utilizamos para detectar cada vez que alg煤n elemento tiene contacto con zona de la muerte.
  • OnTriggerStay2D: Lo utilizamos para detectar si alg煤n elemento se mantiene dentro de la zona de la muerte, lo podemos utilizar para restar puntos y vidas a nuestro personaje cuando esta en contacto con el fuego, por ejemplo.
  • OnTriggerExit2D: Lo utilizamos para detectar cuando alg煤n elemento sale o deja de tener contacto con la zona de la muerte.

En el caso de nuestro videojuego utilizamos OnTriggerEnter2D para detectar cuando el personaje deja de tener contacto con las plataformas y alcanzar a visualizar la animaci贸n de muerte del personaje.

Otra forma de llamar a un m茅todo de un script de otro GameObject, es usando el m茅todo SendMessage que recibe como argumento un String con el nombre del m茅todo

private void OnTriggerEnter2D(Collider2D col){
		if(col.tag == "Player"){
			col.SendMessage ("Die");
		}
	}

Se puede llamar directamente del Collider2D o del gameObject sin problema

private void OnTriggerEnter2D(Collider2D col){
		if(col.tag == "Player"){
			col.gameObject.SendMessage ("Die");
		}
	}

Otro dato, es que si el m茅todo necesitara que se le pase argumentos, se puede hacer de esta manera

col.SendMessage ("NombreMetodo",argumento1, argumento2);

jajaja cierra y abre visual studio como si nada, el m铆o demora 3 horas en hacerlo

Una forma m谩s eficiente de comparar una Tag en Unity es utilizando el m茅todo CompareTag:

    private void OnTriggerEnter2D(Collider2D collision) {

        if (collision.CompareTag("Player"))
        {
            PlayerController controller = collision.GetComponent<PlayerController>();
            controller.Die();
        }
    }

GameOver del player al caer en un collider con trigger:![](

Alguien sabe por que no me aparece el estado gameover cuando mi personaje pasa por el killzone ? no me sale ningun error

Estilo Mario

Para poder mover el GameObjetc corrspondiente al GameManager y a la Kill Zone, basta con utilizar las teclas de acceso r谩pido del Transform y os saldr谩 el eje X e Y como a Juan Gabriel. En este caso las teclas son 鈥淲鈥, 鈥淓鈥, 鈥淩鈥 y 鈥淭鈥.-

Como en clases anteriores implement茅 Singleton en PlayerController, para ecceder al m茅todo Die qued贸 as铆

private void OnTriggerEnter2D(Collider2D collision)
    {
        if(collision.tag == "Player")
        {
            PlayerController.sharedPlayer.Die();
        }
    }

Is Trigger es un disparador de evento, es decir, no es necesario que se atraviese la zona (el collider en este caso).
.
Es suficiente con tocar la zona para desencadenar el evento (cambio a estado Game Over, en este caso).

creamos un collide2d y decimos que dispara un evento (is trigger)

Sin querer puse un BoxCollider en vez de un BoxCollider2D 20 min buscando el error.

Usualmente usamos un collider con el trigger activado.
Pi茅nsalo como:
Una regi贸n en el espacio en donde va a ocurrir algo cuando es atravesada.