Variables en Unity3D

En este post aprenderemos acerca de las variables en Unity3D. Las variables pueden ser de varios tipos que contienen distintos tipos de datos (números, caracteres, true/false, etc). Por ejemplo, una variable tipo float es un número real.

Todo lo que escribamos en nuestro script dentro de «void Start( )» se ejecutará una única vez cuando el objeto sea creado dentro del juego. Si el objeto está previamente creado dentro del juego, se ejecutará una vez se ejecute el juego. Podemos asignarle a una variable un valor inicial introducción una asignación a un valor determinado dentro de «void Start( )». Por ejemplo, podemos asignar poniendo a la variable «jumpSpeed» un valor de 200 poniendo «jumpSpeed = 200;» , por lo que al iniciar el objeto el valor de la variable será 200.

jS200

Ahora borraremos esto último y estableceremos que cuando hagamos clic izquierdo durante el juego la variable jumpSpeed adquiera un valor de 200. Clic izquierdo esta asignado a Fire1 en el InputManager y clic derecho a Fire2 (cómo acceder a InputManager en este post). Se puede añadir, quitar o modificar cualquier cosa en InputManager. En la siguiente imagen veremos el código que cambia el valor de «jumpSpeed» a 200 si pulsamos clic izquierdo en nuestro juego.

set200

Modificaremos a continución el código de manera que, en vez de igualar la variable a 200, incremente su valor en +100. También añadiremos que cuando pulsemos clic derecho se reduzca su valor en -100. Existen dos modos de hacer estas modificaciones. Uno sería «jumpSpeed = jumpSpeed + 100» y el otro «jumpSpeed += 100». Ambos realizan la misma acción, sumar 100 a la variable.

incr

Si el número que necesitamos almacenar es un número entero usaremos una variable tipo int (integer) para guardarlo. Antes de cambiar el tipo de nuestra variable float a int es necesario explicar que si deseamos igualar la variable a un número decimal debemos poner una f al final como se muestra en el siguiente ejemplo: «public float jumpSpeed = 10.5f;» . Cambiemos ahora nuestro tipo float por int. Ya no podremos introducir un número decimal como valor de nuestra variable jumpSpeed en Inspector. Si modificamos el incremento de clic derecho y lo cambiamos por 100,5 nos saldrá un error diciendo que no puede ser convertido a «int».

error int

Existe un tipo de variable llamada bool cuyo valor únicamente es true o false (verdadero o falso) que podría traducirse como 1 ó 0. Crearemos una variable public tipo bool llamada canJump que inicializaremos con un valor false ( 0 ). En Inspector será modificable mediante una casilla marcable. Esta variable servirá para activar o desactivar la posibilidad de saltar de nuestra esfera.  Para lograr esto variaremos nuestra segunda sentencia if de modo que asignaremos esta función a clic derecho, de modo que si pulsamos clic derecho cambiaremos el valor false por true.  Añadiremos una sentencia «if (canJump)» antes de la sentencia de Jump para realizar esta acción sólo si el valor de canJump es igual a true. De este modo si no hacemos clic derecho no podremos saltar.

canJump

Otra manera de lograr esto es añadiendo en la sentencia «if( Input.GetButtonDown («Jump»))» otra condición que debe cumplir además de la ya existente mediante el uso de «&&» ( Shift+7 ) , que indicará que debe cumplirse una condición y ( «&&» ) la otra. Quedará tal que así: «if( Input.GetButtonDown («Jump») && canJump )» , de modo que la esfera saltará cuando pulsemos la barra espaciadora y el valor de canJump sea true.

and

Se explicará ahora la variable tipo string. Este tipo de variable string almacena una cadena de caracteres. Para igualarla a algo habrá que poner entre comillas ( » ) el texto que queramos almacenar en ella. Por ejemplo, public string myString = «cualquier cosa» almacenará en la variable myString el texto «cualquier cosa» (sin las comillas). Aparecerá en Inspector y podremos modificarla debido a que es pública.

string

Por último, veremos como funciona Debug.Log ( ) . La función Log dentro de la clase Debug es una herramienta para el desarrollador que básicamente mostrará por pantalla lo que pongamos entre los paréntesis. Este mensaje aparecerá en la esquina inferior izquierda de Unity y también en la Console.

string2

Un comentario en “Variables en Unity3D

Deja un comentario