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 fire 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

Curso de C# para Videojuegos

Curso de C# para Videojuegos

Juan Gabriel Gomila

Juan Gabriel Gomila

El script de control

8/53
Recursos

Aportes 26

Preguntas 7

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Compañeros algo que me paso con mientras hacia el código en Visual Studio fue el hecho que no reconoció el objeto Rigidbody2D en el intellisense

esto puede generar errores como por ejemplo escribir mal el nombre de la clase o de la librería de Unity, o no tener la documentación exacta de las clases u objetos que maneja, lo solucionan de esta forma:

  1. En el menú de Visual Studio van a Herramientas -> Obtener Herramientas y características
  2. Se le abrirá el instalador de VS Studio, cierren el VS para continuar
  1. Seleccionen Desarrollo de juegos con Unity y luego hacen clic en modificar en la parte inferior derecha. El proceso tomara unos minutos.

  2. En Unity, en el menú van a Editar -> Preferencias, al abrir el panel seleccionen la opción Herramientas Externas y busquen la opción Editor scripts externo

Por defecto les va aparecer Abrir por extensión de archivo cámbielo por Visual Studio Community

  1. Al abrir el script nuevamente podrán observar que ahora si soporta los tipos de Unity con su documentación y demás en el intellisense.

La razón por la cual el Método “Start” y “Uptade” no se le puede cambiar de nombre es que son Event Funtions, que obtienes al heredar de Monobehaviour, estas sera cumplen su funcionamiento asociado al evento de esa función. Como lo sera “Start” [Ejecutarse una sola vez], “Update” [Ejecutarse en cada frame].

Existes muchas mas, como “Awake”, “LateUpdate”, “OnEnable”… entre otros.

Puedes saber mas sobre Event Funtions Aquí

Si a alguien no le muestra el autocompletado con las cosas de Unity. Tiene que ir a la Ventana de Preferencias (que está en la barra de tareas en la sección de Editar). Luego, ya en la ventana, ir en la barra lateral a ‘External Tools’ y ahí escoger como External Script Editor a ‘Visual Studio Community 2019’ y cierra. Se guarda automáticamente.

Hola, tengo un inconveniente al tratar de asignarle a mi personaje el script, lo hago de las formas indicadas en el video pero me aparecen el siguiente mensaje:

“can´t add script behavior assemblyIfo. The script needs to drive from monobehaviour!”

Unity tiene una serie de tutoriales que pueden reforzar lo que estamos aprendiendo aquí.
https://www.youtube.com/playlist?list=PLX2vGYjWbI0S9-X2Q021GUtolTqbUBB9B

Visual Studio e puede conseguir gratis? o siempre es pago?

hola, tengo un error al momento de generar lo de rigidBody2d porque al parecer no esta funcionando el monobeheaviour, osea no reconoce que es una clase de UnityEngine

Un consejo, la pantalla fondo blanco en programación cansa mucho la vista, usen algun tema de tipo dark mode!

Para el Collider de la roca me parece que es mucho mas practico utilizar Polygon Collider 2D se adapta perfectamente a la estructura de la roca

Otra forma en la que se pueden editar las variables sin hacerlas publicas y asi se evita que otros scripts puedan modificar la variable es utilizando SerializedField.

using UnityEngine;

public class PlayerController : MonoBehaviour
{
    // Configurations params
    [SerializeField] float jumpForce = 6f;
    Rigidbody2D rigidBody;
    Animator anim;

    // Start is called before the first frame update
    void Start()
    {
        anim = GetComponent<Animator>();
        anim.SetBool("isOnTheGround", true);
        anim.SetBool("isAlive", true);
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetButtonDown("Jump"))
        {
            anim.SetBool("isOnTheGround", false);                
        }
        if (Input.GetButtonUp("Jump"))
        {
            anim.SetBool("isOnTheGround", true);
        }       
    }
}

Otro nombre de variable normalmente para el rigidbody es “rb”

private Rigidbody2D rb;

Con la parte de los nombres de las variables es preferencia de cada quien, esto es una forma de hacerlo, solo tener en cuenta que los nombres de las variables debe describir su uso en el programa.

En mi caso a quedado así

 private Rigidbody2D rb;

 private void Awake()
 {
     rb = GetComponent<Rigidbody2D>();
 }

Hola,me gustaría saber que programa usar para hacer los scripts,porque no tengo licencia de VisualStudio y no se como instalar Mono(Aparentemente este programa ya no se puede usar en Unity).

el metodo fixedUpdate() nos ayuda con los problemas de los frame que puede llegar a tener el metodo update

Sin prisa pero sin Pausa!!!

Excelente como te van explicando paso por paso.

Vaya que buena clase, me late un buen como explica hasta la razón del porque en el código las palabras se ponen de uno u otro color.

En mi caso uso Microsoft visual studio 2017 y tenia problemas con el intellisense también, capaz ya era lógica pero tuve rato con el problema haha.

Deben activar esa solapa.

nuestro primer script:![](

Podemos ocupar un TileMap para hacer el escenario…

Librerias (parte superior

Nombres de clases en AZUL – PlayerController : MonoBehaviour (significa que hereda de MonoBehaviour)

void -> no nos devulve nada el metodo

Hola, cómo botoo un comente que agregara, por ejemplo un Collider?

A mi no se me autocompleta la segunda llave cuando abro una, ni los parentesis, alguien sabe como puedo modificarlo?

En casi todos los tutoriales que veía de Unity (Si no es que en todos), al RigidBody simplemente lo llamaban rb

el dark mode se ve bien solo cuando trabajas, cuando compartes tu pantalla no es recomendable.

Genial

¿Por qué no utiliza un mesh collider? No se ajusta mejor o ¿cómo funciona?