public class NewBehaviourScript : MonoBehaviour
Este código que vemos es el nombre de la clase que siempre debe ser el mismo que el nombre del script y después de los dos puntos nos indica a que clase pertenece y en este caso y siempre por defecto pertenecerá a MonoBehaviour. Esta clase debe contener en su interior todo el contenido de nuestro script o dicho de otra manera el comportamiento que queremos que se ejecute.
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
En este bloque o parte del script es donde declararemos variables y utilizaremos nuestras funciones. En el script tenemos dos comentarios que sirven para informar y siempre van después de // y dos funciones (void Start) y (void Update) que veremos a continuación para que sirven.
Void Start
Para entender cómo funciona vamos a crear un mensaje para cada función que se va a mostrar por la ventana de Consola en Unity. Cuando queremos imprimir un mensaje debemos escribir la palabra Debug.Log(“”); Dentro del paréntesis de momento vamos a escribir entre comillas cuándo queremos poner texto, más adelante veremos qué opciones tenemos. A continuación te dejo el código que me gustaría que probarás.
Script: NewBehaviourScript.cs |
using System.Collections;using System.Collections.Generic;using UnityEngine;public class NewBehaviourScript : MonoBehaviour{void Start (){Debug.Log(“Nuestro primer mensaje”);}void Update (){Debug.Log(“Este mensaje se va a repetir infinitas veces!!”);}} |
Una vez hayas escrito el código en tu script debes guardar el archivo seleccionando en la barra de herramientas principal File > Save. Ahora minimizamos el editor Monodevelop y nos dirigimos a Unity. Debes localizar la ventana Console en la interfaz si no lo ves puedes abrir esta ventana accediendo al menú principal en la opción Window > Console. Se abrirá la ventana Consola como te muestro en la siguiente imagen.
Fig. 5.3
Ahora para que nuestro script funcione debemos agregarlo a un objeto en la escena, como no tenemos ninguno debemos crear un GameObject vacío, o por defecto el que tú quieras y arrastrar el script encima del objeto dentro de la ventana jerarquía o con el objeto seleccionado arrastrando el script encima de sus componentes como te muestro a continuación en la siguiente imagen:
Fig. 5.4
Bien agregado el script ejecutamos el juego haciendo clic en play y pasados unos segundo veremos el siguiente mensaje en consola:
Fig. 5.5
El primer mensaje que se imprime en la consola es el que estaba dentro de la función Start si te fijas verás que solo aparece una vez. El segundo mensaje se repite en este caso 146 veces. Verás que he marcado la opción Collapse para que el segundo mensaje que estaba dentro de la función Update no me salga repetido y solamente se muestre una vez con el numero de repeticiones al lado.
2. Crear y manipular variables
Las variables son contenedores de información, por ejemplo imagínate que tienes tres amigos: Juan, Antonio y María. Ahora imaginate que utilizamos un nombre en clave para referirnos a estos tres amigos. El nombre clave es “jam” que son las letras del principio del nombre. Bien cada vez que digas jam estarás refiriéndote a tus 3 amigos, eso mismo es lo que hacemos en programación, damos un nombre fácil de recordar a un valor complejo.
Cuando creamos variables decimos que las estamos declarando y existen varios tipos de variables según el contenido que queremos guardar. Para declarar una variable en C# primero debemos decir si es pública o privada;
Las variables publicas nos permiten comunicar entre los scripts del mismo GameObject y otros GameObjects y se verán publicadas en la ventana Inspector de Unity.
Las variables privadas también nos permiten comunicar entre los scripts del mismo u otros GameObjects pero no se verán publicadas en la ventana Inspector de Unity.
Public/private+ tipo de variable + nombre de la variable;
Para el ejemplo en Unity crea un nuevo GameObject (un cubo) luego crear un nuevo script y llámalo Variables.cs y añadelo al nuevo GameObject:
Script: Variables.cs |
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Variables : MonoBehaviour{public int edad = 56;public string nombre = “Oscar”;public float peso = 1,85f;void Start (){Debug.Log(“Mi nombre es: “+this.nombre+” tengo “+this.edad+” y mido “+this.peso);}} |
Las variables declaradas son:•int para valores enteros.•string para valores de cadena de textos siempre entre comillas.•float para valores decimales y el numero debe finalizar con la letra f.Para mostrar en consola las variables se utiliza un Debug.Log y dentro del paréntesis se concadena con signos de suma con el nombre de las variables. El término this se utiliza para hacer referencia a la variables del objetos que tiene el script. |
Unity nos permite ver las variables que hemos declarado en la ventana inspector porque las hemos declarado públicas, como te muestro en la imagen siguiente:
Fig. 5.6
En la imagen anterior, seleccionando el objeto al que le hemos añadido el script nos muestra las variables que hemos declarado públicas en la ventana inspector. Si ejecutamos el juego haciendo clic a play en la consola debería aparecer el mensaje que hemos escrito dentro de la función Start.
Fig. 5.7
3. Trabajar con operadores aritméticos
Los operadores aritméticos nos permiten realizar operaciones con nuestras variables es decir si tenemos una variable energía = 100 y un enemigo te dispara con un arma de daño= 50 tu energía se le restará 50.
A continuación te muestro todos los operadores que necesitas para hacer tus operaciones. Primero cómo asignamos una operación a nuestras variables:
Suma | x = x + y; | Módulo | x = x % y; |
Resta | x = x - y; | Añadir 1 | ++x |
Multiplicación | x = x * y; | Quitar 1 | --1 |
División | x = x / y; |
Vamos a crear un ejemplo para ver como podemos utilizar estos operadores para ello crearemos un nuevo script en C# llamado Aritmeticos.cs (El nombre procura que sea sin acentos y sin la ñ).
Debemos calcular la velocidad que tiene nuestro objeto sabiendo la distancia recorrida y el tiempo que hemos utilizado.
Script: Aritmeticos.cs |
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Aritmeticos : MonoBehaviour{private float velocidad;public float tiempo = 5,1f;public float distancia = 8.1f;void Update (){this.velocidad= this.distancia/this.tiempo;Debug.Log(“Mi velocidad es de: “+this.velocidad);}} |
Las variables declaradas son todas float y públicas excepto la de velocidad porque quiero que solo se muestre en consola. Le hemos dado valores a la variable tiempo y a la variable distancia.He creado la operación dentro de la función Update para que cuando ejecutemos el juego y cambiemos los valores de tiempo y de distancia, Unity calcule de nuevo los nuevos valores.Para mostrar en consola el resultado de velocidad utilizamos un Debug.Log. |
En Unity podemos borrar el componente script anterior