No tienes acceso a esta clase

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

Curso de Introducción a Unity: Scripting

Curso de Introducción a Unity: Scripting

Ruth Margarita García López

Ruth Margarita García López

Usando la consola de una forma muy pro

4/24
Recursos

Aportes 7

Preguntas 1

Ordenar por:

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

Usando la consola de una forma muy pro

Por si todavía no lo sabías, escribir código == tener muchos escurridizos hermosos errores, principalmente pertenecientes a estas 3 categorías:

Errores de compilación: “I don’t speak humano”

-Dentro de tus “strings” puedes inventar palabras o ezcrivir azi, pero al usar **palabras reservadas, llamar métodos o nombres de variables/objetos previamente definidos,**estamos hablando en código, y el lenguaje no tolera errores de tipado.
En cuyo caso Unity simplemente no “entendería” lo que quisiste decir, no sabe cómo interpretarlo y por lo tanto no compila el código, no arranca.

  • Generalmente se debe a los famosos TYPOS: errores tipográficos, alguna teclita de más o de menos que se nos pasa; o errores ortográficos por falta de familiaridad con el inglés.

Errores en tiempo de ejecución:

  • En este caso el código arranca y el juego se ejecuta, pero puede llegar cierta circunstancia para la cual el código no prevee respuestas/alternativas y Unity no sabe qué hacer.
    El juego se desestabiliza, o pausa.

chanchanchaaan

Horrores de lógica

  • Los más difíciles de encontrar.

  • Se deben a alguna falla o efecto imprevisto desde el planteamiento/calculo que quien programa aplica en cierto segmento de código.

  • Algunos de estos bugs pueden sobrevivir al testing más riguroso. Y es normal que suceda, incluso con el juego lanzado a producción; los errores se van resolviendo a medida que aparecen mediante actualizaciones y lanzamiento de parches, por ejemplo.

Consola socorrista

Ejemplo del bus:
Escribimos un Script para que al iniciar, los pasajeros digan gracias al chofer en un 30% de probabilidad.

  • En código: condicionamos el llamado del mensaje dentro de un if, que evaluará que el valor aleatorio surgido de un método Random.Range(entre 0, y 1f(floating/decimal)) -que implica una distribución uniforma- sea menor a 0.3.

    public class Pasajeros : Monobehaviour {
    	  void Start () {
    
    	If (Random.Range(0, 1f) < 0.3) {
    		Debug.Log("Gracias!", this)
    		}
    	}
    }
    

    Nota: el Debug.Log recibe un 2do parámetro en su sobrecarga, que permite señalar el componente o GameObject allí especificado al dar click en el mensaje en consola.
    En este caso llamamos this, o sea, el pasajero que dijo gracias.
    • Pero antes de aplicarlo debemos

enlazar el script a cada pasajero.

Por suerte estos derivan de un prefab, con lo cual,

<h5>al añadir el script como componente de este, todos los pasajeros lo reciben.</h5>

Los errores! en consola

- llevan un ícono distinto al de los mensajes. 

Si son de compilación:

- no nos permitirán arrancar el juego
  • nos pedirán que arreglemos el problema describiendo brevemente la naturaleza y número de línea donde fue hallado.
    Traducir en caso de no entender inglés. (ej: Google Translate).
    también…

Podemos encontrar errores en tiempo de ejecución,

- en cuyo caso el juego no se interrumpe

NOTA: A MENOS QUE EL BOTÓN Error Pause DENTRO DE LA CONSOLA, ESTÉ ACTIVO.

	○ Este botón aplica pausa en toda la escena y sus objetos al momento de dispararse un error, para facilitar su hallazgo y tratamiento.
  • Si bien estos errores no frenan el juego, es recomendable analizarlos y resolverlos cuanto antes ya que pueden traer problemas encadenados debido a sus dependencias con otros objetos.

Higiene de consola

- Es importante que quitemos nuestros mensajes de debugeo por respeto al espacio de trabajo compartido. A veces se nos pasa y 

Una buena práctica para filtrar el caos es

  • añadir nuestro nombre en la definición del parámetro del mensaje; algo como

[…]
Debug.Log("[Menganito] Gracias", this);
[…]
- Entonces podemos escribir [Menganito] en la barra de búsqueda de la consola, y aparecerán solamente nuestros mensajes (suponiendo que, lamentablemente, nos llamemos Menganito).

al ser un curso de introducción, debería usar un editor de código o IDE que permita tener autocompletado y con información detallada que hace cada función o método, para que se explique y se sepa cual usar de acuerdo a cada contexto.

Like si te acordaste de Cyberpunk 2077 😂
# Clase #4 - Usando la consola de forma muy pro # **Tipos de Errores:** ## **Errores de Compilación:** * Ocurren cuando Unity no entiende el código, generalmente por errores de **tipografía** o sintaxis. * Aparecen en la consola con color **rojo** y **no desaparecen** al limpiar la consola. ## **Errores en Tiempo de Ejecución:** * No impiden la ejecución del juego, pero pueden: * Desestabilizar el juego. * Pausar el juego. * Ocurren debido a **imprevistos** durante la ejecución. ## **Errores de Lógica:** * Son básicamente **bugs**. * **Culpa del programador**, pero nos pasa a todos. * **Se encuentran** y **se arreglan**. * La consola puede ayudarte a **identificarlos y solucionarlos**. # **Funciones Nuevas:** * `if`: Estructura condicional para tomar decisiones en el código. * `Random.Range()`: Genera números aleatorios. Si hay una `f` al final permite que el rango incluya fracciones. * `this`: Referencia al objeto que ejecuta el código. **Ejemplo:** `csharpCopiar código` `if (Random.Range(0, 1f) < 0.3) {` ` Debug.Log("Gracias", this);` `}` # **Consola de Unity** * **Buscar**: Permite encontrar mensajes específicos. Si trabajas en equipo, puedes incluir tu nombre en los mensajes (`Debug.Log("mensaje", this)`) para filtrar solo los tuyos. * **Collapse**: Agrupa los mensajes iguales para reducir el ruido en la consola. * **Error Pause**: Pausa la ejecución del juego cuando aparece un error, permitiendo revisarlo de inmediato.
# Clase #4 - Usando la consola de forma muy pro # **Tipos de Errores** ## **Errores de Compilación** * Ocurren cuando Unity no entiende el código, generalmente por errores de **tipografía** o sintaxis. * Aparecen en la consola con color **rojo** y **no desaparecen** al limpiar la consola. ## **Errores en Tiempo de Ejecución** * No impiden la ejecución del juego, pero pueden: * Desestabilizar el juego. * Pausar el juego. * Ocurren debido a **imprevistos** durante la ejecución. ## **Errores de Lógica** * Son básicamente **bugs**. * **Culpa del programador**, pero nos pasa a todos. * **Se encuentran** y **se arreglan**. * La consola puede ayudarte a **identificarlos y solucionarlos**. # **Funciones Nuevas** * `if`: Estructura condicional para tomar decisiones en el código. * `Random.Range()`: Genera números aleatorios. Si hay una `f` al final permite que el rango incluya fracciones. * `this`: Referencia al objeto que ejecuta el código. **Ejemplo:** `csharpCopiar código` `if (Random.Range(0, 1f) < 0.3) {` ` Debug.Log("Gracias", this);` `}` # **Consola de Unity** * **Buscar**: Permite encontrar mensajes específicos. Si trabajas en equipo, puedes incluir tu nombre en los mensajes (`Debug.Log("mensaje", this)`) para filtrar solo los tuyos. * **Collapse**: Agrupa los mensajes iguales para reducir el ruido en la consola. * **Error Pause**: Pausa la ejecución del juego cuando aparece un error, permitiendo revisarlo de inmediato.

Super profe me preguntaba si hay alguna forma de conectar contigo esque estoy desarrollando algo me gustaria tu ayuda.