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.

# 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.
Like si te acordaste de Cyberpunk 2077 😂

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