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

Reiniciar la partida

22/53
Recursos

Aportes 12

Preguntas 3

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad?

Con este video me doy cuenta como puedo mejorar visualmente el juego, si a tus plataformas les asignas en la posición Z el valor 1 y el Player en su posición Z le dejas 0, puedes generar un mejor efecto de que el Player camina sobre las plataformas.

Si quieren pueden utilizar:

    public void StartGame()
    {
        controller = FindObjectOfType<PlayerController>();
        SetGameState(GameState.inGame);
    }

En vez de:

    public void StartGame()
    {
        controller = GameObject.Find("Player").GetComponent<PlayerController>();
        SetGameState(GameState.inGame);
    }

Como habilito autocompletar, o las sugerencias en VSC?

like

Como aporte a lo que dijo un compa√Īero abajo. Si al Player le ponemos Z = -1 , el personaje se ve por delante de cada objeto en el juego, con lo cual parece que camina por encima.
De esta forma no hay que cambiar cada objeto a mano, sino simplemente el player.

En el minuto 6 de la clase, se rellena el método Start de la clase GameManager.

Yo he entendido lo siguiente que pongo como comentarios en mi propio c√≥digo. ¬ŅQu√© opin√°is?


 // Start is called before the first frame update
    void Start()
    {
        /*Controller es igual a que la clase GameObject localice (Find) un objeto.
         *Como no se puede convertir implicitamente la clase GameObject en "Player"
         *(el nombre de nuestro GameObject de personaje en Unity, definido en Hierarchy, panel Jerarquía)
         * tenemos que obtener el componente PlayerController del GameObject para que el casting sea posible.
         * De modo que invocamos al método "GetComponent" con el nombre de la clase que ya está declarada
         * arriba del Awake, "PlayerController", por lo que ahora sí es posible el casting implícito.
         * Adem√°s, de esta manera el Game Manager tiene localizado a nuestro PlayerController, enlazado con Unity*/


        controller = GameObject.Find("Player").
            GetComponent<PlayerController>();
    }

crea la posicion inicial (startPosition)

cada vez que se inicia, lo colocamos en la posicion inicial metodo Start() de PlayerController

StartGame reinicia la posicion y velocidad del personaje

obtenemos el player a traves de controller buscandolo con (en mi caso) controller = GameObject.FindWithTag("Player").GetComponent<PlayerController>();

pregunta, mi animacion del mu√Īeco quedo algo rara, pues coloque animacion para Idle, run, die y jump por alguna razon las animacione sno se ejecutan del todo bien, lo que hice es hacer otyro proyecto y al parecer yta funciona la animacion, es posible importar esas animaciones al actual juego y reemplazar la existente?

Es realmente importante tener claro el manejo de m√©todos p√ļblicos y privados!!