Unity Tutorial for Beginners. C Sharp in Unity. Image from Ackosmic Games

4. Variables y Tipos de Datos

En este Tutorial de Unity conoceremos lo que es una “Variable”, una “Constante”, los “Tipos de Datos” que pueden almacenar y como utilizarlos.

Tutorial de Unity Nivel: Principiante.

4.1 Variables y Constantes.

Las “Variables” y las “Constantes” se pueden definir como “secciones de memoria en nuestro ordenador reservadas para almacenar un valor”.

Con las “Variables”, el “valor almacenado” puede ser conocido o no, fijo o cambiante (variable).

Con las “Constantes”, el “valor almacenado” es fijo, conocido y no cambiante (constante).

Al ser ambas “secciones de memoria reservadas”, quiere decir que podemos hacer uso de ellas durante la ejecución de nuestro código (mientras se ejecuta nuestra escena).

Nosotros usamos a las Variables y a las Constantes para almacenar información que nos es de utilidad al momento de crear nuestros juegos (por ejemplo, la puntuación del jugador, si el juego ya terminó, el nombre de un personaje, etc.).

Nota:  Las Variables y las Constantes necesitan tener un “Nombre Único” para poder ser usadas (de lo contrario no sabríamos a cuál hacer referencia), y como lo vimos con los “Scripts”, los nombres de las Variables y de las Constantes también tienen algunas reglas:

  • Solo usar caracteres Alfanuméricos (nada de símbolos o espacios, porque pueden crear conflicto con otras instrucciones).
  • Usar minúsculas y mayúsculas (usar la notación tipo “Camel Case”). Minúsculas al inicio del nombre de la Variable o Constante y Mayúsculas al inicio de la segunda palabra y posteriores (ejemplo: puntuacionJugador o playerScore, juegoFinalizado o gameOver, nombreEnemigo o enemyName).
  • Tratar de siempre asignar “nombres que describan” correctamente el uso que le vamos a dar a la Variable o Constante (aunque puedan parecer extensos, siempre es mejor usar “puntuacionJugador” en lugar de solo “puntuacion”).
  • No usar como nombre, funciones específicas del sistema (de las librerías de Unity o de C#).
  • Para más información visitar https://docs.microsoft.com/es-mx/dotnet/standard/design-guidelines/capitalization-conventions .
"Publicidad" (los Anuncios nos Ayudan a Mantener este "Gran Sitio" 😀 )

4.2 Tipos de Datos.

Como ya lo vimos, las Variables y las Constantesnos sirven para almacenar valores”, ahora veremos qué Tipos de Valores o Datos son los que podemos almacenar.

Inicialmente veremos los tipos más comunes de valores o datos utilizados.

Tipo “int”

Este tipo de dato lo utilizamos para almacenar “valores numéricos enteros” de 32bits (en un rango del -2,147,483,648   al   2,147,483,647).

Ejemplo:

Si queremos una “variable” que almacene la “cantidad de vidas para nuestro héroe”, podemos declararla así:

int vidasHeroe = 3;

 

Si queremos una “constante” que almacene “el precio de una armadura”, podemos declararla así:

const int precioArmadura = 100;

Nota: Como se puede ver en los ejemplos anteriores, para “declarar una Variable” solo es necesario escribir el “Tipo de Dato” que va a contener y el “Nombre de la Variable”; pero en el caso de las “Constantes”, hay que escribir “const” antes del Tipo de Dato y el Nombre de la Constante.

 

Tipo “float”

Este tipo de dato lo utilizamos para almacenar “valores numéricos con punto decimal” de 32bits (en un rango del -3.402823× 10^38   al   3.402823× 10^38).

Ejemplo:

Si queremos una “variable” que almacene la “velocidad de una nave espacial”, podemos declararla así:

float velocidadNave = 17.74f;

 

Si queremos una “constante” que almacene el valor de “la aceleración gravitacional de un planeta”, podemos declararla así:

const float gravedadPlaneta = 4.978f;

Nota: Cuando declaramos Variables o Constantes tipo “float”; el valor a almacenar debe ser acompañado del sufijof” (para poder diferenciarlo de los otros tipos de datos que también usan valores numéricos). 

 

Tipo “string”

Este tipo de dato lo utilizamos para almacenar “cadenas de caracteres” en otras palabras “texto” (no hay una definición oficial sobre cuantos caracteres se puede almacenar; pero estamos seguros de que serán suficientes para nuestros propósitos, o hasta que la memoria del ordenador se desborde, lo que suceda primero 😀 ).

Ejemplo:

Si queremos una “variable” que almacene el “nombre de nuestro personaje”, podemos declararla así:

string nombrePersonaje = “Ronnie the Fox”;

 

Si queremos una “constante” que almacene un “mensaje de bienvenida”, podemos declararla así:

const string mensajeBienvenida = “Sean Bienvenidos a ACKOSMIC Games”;

Nota: Cuando declaramos Variables o Constantes tipo “string”; el texto a almacenar debe colocarse “entre comillas dobles” (“ “).

 

Tipo “bool”

Este tipo de dato lo utilizamos para almacenar los valores lógicos (booleanos) “true” (verdadero) o “false” (falso); no soporta otro valor y no es necesario escribirlos entre comillas dobles.

Ejemplo:

Si queremos una “variable” que almacene el sí “terminamos el juego”, podemos declararla así:

bool juegoTerminado = false;

Nota: No es muy común usar una Constante tipo “bool”.

 

Existen muchos otros, pero estos cuatro Tipos de Datos son los que usaremos con mayor frecuencia cuando comenzamos a desarrollar videojuegos; más adelante en otros tutoriales veremos cómo declarar otros tipos de variables y constantes.

Si quieres conocer más sobre los Tipos de Datos en C#, puedes visitar https://docs.microsoft.com/es-mx/dotnet/csharp/tour-of-csharp/types-and-variables .

"Publicidad" (los Anuncios nos Ayudan a Mantener este "Gran Sitio" 😀 )

4.3 Trabajando con Variables.

Ahora veremos como implementar Variables y Constantes dentro de un Script.

Primero, dentro de Unity vamos a crear un nuevo Script llamado “MyVariables” (en la ventana “Project”, hacemos “clic derecho” sobre nuestra carpeta “Scripts” y seleccionamos Create → C# Script). Otra manera de hacerlo es, seleccionar nuestra carpeta “Scripts” y en la barra de menú ir a Assets → Create → C# Script.

Unity Tutorial. C Sharp (C#). Unity Editor Interface Image from Ackosmic Games

 

Una vez creado nuestro script “MyVariables.cs”, hacemos “doble clic” sobre este para abrir el editor de código. Otra manera, es haciendo “clic derecho” sobre nuestro script y seleccionar “Open C# Project”.

 

Unity Tutorial. C Sharp (C#). Unity Editor Interface Image from Ackosmic Games

Ya que tenemos nuestro Script abierto en el editor de código, vamos a crear nuestra “Primera Variable” y nuestra “Primera Constante” para después mostrarlas como mensajes en la “Consola” de Unity.

Dentro de nuestra Clase “MyVariables” pero antes de los métodos “Start” y “Update” vamos a declarar la siguiente Variable y la siguiente Constante:

//La cantidad de salud inicial de nuestro personaje
int saludPersonaje = 100;
//El deterioro de salud que recibe nuestro personaje
const int deterioroSalud = 10;

Nota: El texto que se encuentra después de las “dos diagonales” (//) se llama “Comentario” y nos sirve para dejar anotaciones dentro de nuestro código, anotaciones que ayuden como referencia para saber con un poco más de detalle lo que estamos haciendo. Los comentarios no son tomados en cuenta al momento de compilar y ejecutar nuestro código; lo que está después de las dos diagonales y sobre la misma fila es aquello a considerarse como Comentarios (más adelante veremos otra manera de escribir comentarios que usen más de una fila dentro de nuestro script).

Ahora, dentro del método “Satrt” vamos a escribir:

Debug.Log("Salud Inicial: " + saludPersonaje);
Debug.Log("Daño que recibe: " + deterioroSalud);

Debug.Log” nos sirve para desplegar mensajes en la Consola de Unity, estos mensajes deben estar en formato de “Texto” (entre “comillas dobles”); en el caso de nuestras variables y constantes, no las ponemos entre comillas dobles porque lo que queremos conocer es el valor que almacenan (de lo contrario en la Consola de Unity veríamos solo el “Nombre de la Variable o Constante” y no su valor).

El signo de “más” (+) entre el texto a desplegar y la variable o constante nos sirve para indicar que estamos "añadiendo" (concatenando) más información para mostrar.

Nuestro código debe verse así:

Unity Tutorial. C Sharp (C#). Unity Visual Studio Code Image from Ackosmic Games

Guardamos nuestro código ( Ctrl+S )

Ahora cambiamos a la Interfaz de Edición de Unity (recuerda esperar un poco mientras Unity toma lo cambios hechos en el editor de código).

En la ventana “Hierarchy” vamos a seleccionar nuestro objeto del juego “GameObject”, una vez seleccionado, vamos a la ventana “Inspector” y ahí vamos a eliminar el “Componente” “Hello World (Script)” (se elimina la instancia de nuestra Clase “HelloWorld”). Para eliminarlo, hacemos clic sobre el “pequeño engrane” que está en la esquina superior de nuestro componente (cada componente del objeto del juego tiene uno) y después del menú que nos aparecerá seleccionamos “Remove Component”.

Unity Tutorial. C Sharp (C#). Unity Editor Interface Image from Ackosmic Games

Con esto quitaremos el componente “Hello World (Script)”.

"Publicidad" (los Anuncios nos Ayudan a Mantener este "Gran Sitio" 😀 )

El siguiente paso es añadir a este mismo objeto del juego nuestro script “MyVariables” como su componente (haciendo clic en el botón “Add Component”, después en el menú que se despliega hacer clic en “Scripts” y por último seleccionar “My Variables”).

Ya que agregamos el componente “My Variables” (la instancia de nuestra Clase “MyVariables”), ya podemos hacer clic en el botón “Play” de la Interfaz de Edición para ejecutar nuestra escena (mientras el botón “Play” este activo, su color cambiará de color “Negro” a color “Azul”, quedándose así mientras se ejecuta la escena).

Unity Tutorial. C Sharp (C#). Unity Editor Interface Image from Ackosmic Games

En la Consola de Unity veremos:

Unity Tutorial. C Sharp (C#). Unity Editor Interface Image from Ackosmic Games

Volvemos a dar clic en el botón “Play” para desactivar la ejecución de la escena (el botón “Play” debe quedar en color “Negro” nuevamente).

Vamos de vuelta a nuestro editor de código para añadir más variables y constantes. Después de la constante “deterioroSalud” escribimos:

//La velocidad con la que avanza nuestro personaje
float velocidadPersonaje = 14.74f;
/* El valor de la aceleración gravitacional en el planeta
donde se encuentra nuestro personaje.
Este valor se declara como una "Constante" */
const float gravedadPlaneta = 7.44f;

Nota: Ahora podemos ver un ejemplo de un “Comentario” que abarca más de una fila; esto se logra escribiendo todo nuestros comentarios dentro de “ /* ” y  “ */ ”.

Y dentro del método “Start” añadimos:

Debug.Log("Velocidad del Personaje: " + velocidadPersonaje + " km/h");
Debug.Log("La Aceleración Gravitacional: " + gravedadPlaneta + " m/s^2");

Nota: Usamos el signo “+” cuando queremos añadir más información a desplegar en nuestro mensaje.

Quedando nuestro Script así:

Unity Tutorial. C Sharp (C#). Unity Visual Studio Code Image from Ackosmic Games

Guardamos nuestro código ( Ctrl+S ).

Cambiamos a la Interfaz de Edición de Unity (recuerda esperar un poco mientras Unity toma lo cambios hechos en el editor de código) y ejecutamos la escena.

En la Consola de Unity veremos:

Unity Tutorial. C Sharp (C#). Unity Editor Interface Image from Ackosmic Games

Volvemos a dar clic en el botón “Play” para desactivar la ejecución de la escena. Y regresamos nuevamente a nuestro editor de código para añadir más variables y constantes. Después de la constante “gravedadPlaneta” escribimos:

//Mensaje de Bienvenida al jugador
string mensajeBienvenida = "Bienvenido a este Gran Juego. ";
//Mensaje para Iniciar la Partida
const string mensajeIniciarPartida = "Da Clic para Iniciar";
//Referencia para saber si el juego ya inició
bool partidaIniciada = true;

Y dentro del método “Start” añadimos:

Debug.Log(mensajeBienvenida + mensajeIniciarPartida);
Debug.Log("Partida Iniciada: " + partidaIniciada);

Quedando nuestro Script así:

Unity Tutorial. C Sharp (C#). Unity Visual Studio Code Image from Ackosmic Games

Unity Tutorial. C Sharp (C#). Unity Visual Studio Code Image from Ackosmic Games

Guardamos nuestro código ( Ctrl+S ).

Cambiamos a la Interfaz de Edición de Unity (recuerda esperar un poco mientras Unity toma lo cambios hechos en el editor de código) y ejecutamos la escena.

En la Consola de Unity veremos:

Unity Tutorial. C Sharp (C#). Unity Editor Interface Image from Ackosmic Games

Volvemos a dar clic en el botón “Play” para desactivar la ejecución de la escena.

Antes de finalizar, vamos a guardar nuestro trabajo (vamos a File → Save Scenes y después File → Save Project).

"Publicidad" (los Anuncios nos Ayudan a Mantener este "Gran Sitio" 😀 )

Ejercicios.

Para reforzar lo aprendido, es necesario practicarlo, por ello, intenta realizar los siguientes ejercicios:

  1. Usa el Script “MiNombre” que creaste en el ejercicio anterior.
  2. Añade las siguientes variables y constantes:
    • Variable “int” con tu edad.
    • Constante “int” con tu código postal.
    • Variable “float” con tu estatura.
    • Constante “float” con tu peso.
    • Variable “string” con tu dirección.
    • Constante “string” describiendo tu actividad favorita.
  3. Escribe un código dentro del método “Start” que realice una presentación acerca de ti, usando las variables y constantes creadas (no borres tu código anterior, escribe después de este).
  4. Usa el objeto del juego existente, reemplaza el componente usado en este tutorial (“My Variables”) por una instancia de tu script (“Mi Nombre”).
  5. Ejecuta la escena y ve que sucede.

Este Tutorial de Unity sobre qué son las “Variables”, las “Constantes”, los “Tipos de Datos” que pueden almacenar y cómo “Asignarlas dentro de un Script” termina aquí. Acompáñanos en el siguiente tutorial donde aprenderemos más sobre el lenguaje de programación “C Sharp” (C#) en Unity.

Recuerda que, si quieres conocer más a fondo sobre el lenguaje de programación “C#” puedes visitar https://docs.microsoft.com/es-mx/dotnet/csharp/ ó bien, no dudes en contactarnos para cualquier duda o asesoría haciendo clic "Aquí"

Siguiente Tutorial de Unity: "5. Operaciones con Variables"

Comparte el Post
Posted in CSharpUnity.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.