Programaci贸n Javascript en Unity
Los principios bรกsicos del scripting son: *Variables *Funciones *Condicionales *Bucles.
Las Variables son contenedores en los que se puede almacenar informaci贸n para usarla durante la ejecuci贸n del programa.
Las Funciones son partes del c贸digo que se pueden reutilizar para ser ejecutadas llamando el nombre de la funci贸n.
Las Condicionales (Como IF ,ELSE, IF ELSE) permiten hacer selecciones de entre un nĂşmero de condiciones.
Las bucles Se usan para repetir continuamente el mismo bloque de c贸digo mientras se cumplen unas condiciones.
Las variables Son espacios en la memoria donde se puede guardar todo tipo de informaci贸n como n煤meros y palabras.
Para guardar algo en una Variable, primero se debe declarar esa variable.
Una Variable en el lenguaje javascript declara de la siguiente manera:
Var nivel : int = 1;
Los elementos principales que componen una Variable en javascript son los siguientes:
Var Primero, se debe poner la palabra var
nivel
Espacio
Esp
Segundo, se agrega el nombre de la variable. En este caso es la palabra: nivel.
: Signo Dos puntos
int Esp
Esp
Tercero, se debe seĂąalar quĂŠ tipo de variable es. Puede ser int, float, string, boolean
= Signo IGual
1 ; Esp
Signo Punto y coma
Cuarto, se agrega el valor de la variable. En este caso es de 1.
Una variable se puede llamar de cualquier manera siempre y cuando no se le agreguen al nombre mismo espacios en blanco o que tengan caracteres especiales como @, #, etc.
Una variable debe estar compuesta por la siguiente lista de elementos: 1.
La palabra var en minĂşscula. 2. Un espacio. 3. El nombre de la variable. 4. Un espacio. 5. El signo dos puntos : 6. Un espacio. 7. El tipo de variable. 8. Un espacio. 9. El signo igual = 10. Un espacio. 11. El valor de la variable 12. Un espacio 13. Signo de punto y coma ;
Los tipos de variables que se pueden declarar son: *int: Entero (Evidencia que contiene números enteros. Por ejemplo: 3) *float: Flotante (Contiene números con decimales. Ej. 3.83) *String: Cadena (Contiene palabras. Puede guardar cualquier carácter) *boolean (Puede tener valores declarados como verdaderos o falsos)
Veamos un ejemplo de cada uno de los tipos de variables. *int: Entero Var nivel : int = 1; *float: Flotante Var distancia : float = 50.25; *String: Cadena Var mensaje : string = “Bienvenidos al curso�; *boolean: Var moviendose : boolean = false;
En el primer ejemplo Var nivel : int = 1; Se ha declarado una variable entera que puede servir para almacenar cualquier nĂşmero como el nivel del jugador o la cantidad de bonos que ha conseguido.
En el segundo ejemplo Var distancia : float = 50.25; se ha declarado una variable float que contiene un nĂşmero con punto decimal y puede ser usado para almacenar, por ejemplo, la distancia entre dos puntos.
En el tercer ejemplo Var mensaje : String = “Bienvenidos al curso�; Se ha declarado una variable del tipo string o cadena que contiene texto. Ese texto debe agregarse entre comillas.
En el cuarto ejemplo Var moviendose : boolean = false; Se ha definido una variable del tipo boolean que contiene un valor que puede ser verdadero o falso (True o false) y que puede ser declarado para activar o desactivar algo como si el jugador se estรก moviendo o no.
Variables públicas o privadas. Las variables pueden ser declaradas como públicas o privadas. Si se declara una variable como esta: Var nivel : int = 1; Esa variable será visible en el inspector de Unity
Pero si la anterior declaraci贸n se hace de la siguiente manera: Private var nivel : int = 1; Esa variable no ser谩 accesible desde el inspector y solo podr谩 ser modificada desde el c贸digo.
Variables globales Se trata de otro tipo de variables que se declaran de la siguiente manera: Static var vidas : int = 10;
Usando estas variables se consigue que sean accesibles desde cualquier otro script y además estén disponibleS desde el inicio de la ejecución.
Funciones. Las funciones son partes reutilizables del c贸digo. Unity tiene algunas funciones reservadas que pueden ser llamadas por sus nombres. Esas funciones son
start y Update.
La estructura de una funci贸n es la siguiente:
funcion Start() { }
La estructura de una función se puede describir detalladamente de la siguiente manera:
Primero, Se agrega la palabra funtion
Segundo, Se adiciona el nombre de la función, en este caso Start
Tercero, Se añaden los paréntesis que guardan los parámetros.
funtion Start () { }
Cuarto, Se suman los corchetes que contienen la función propiamente dicha.
La palabra funtion se escribe con letra minúscula inicial y se debe dejar un espacio para agregar la palabra Start y esta palabra se debe escribir con mayúscula inicial. Los paréntesis deben ser agregados sin dejar espacio después de la palabra Start.
El siguiente es un ejemplo de función: Funtion ImprimirMensaje() { var mensaje : String = “ esto es un mensaje”; Debug.Log(mensaje); } Funtion Start() { imprimirMensaje(); }
Condicionales Se usan para hacer una selección entre múltiples eventos dependiendo de una o más condiciones.
Las condicionales se usan con frecuencia en cualquier juego porque siempre se necesita hacer selecciones entre diferentes opciones basándose en condiciones.
Los usos de las condicionales son muchos. A continuaci贸n describiremos algunos de ellos: -Para declarar si un bot贸n ha sido pulsado. -Para detectar la vida de un jugador. Definiendo si est谩 vivo o debe morir si la cantidad de vida asignada por el juego ha alcanzado el valor de cero.
-Para cambiar interruptores. -Para realizar distintas acciones dependiendo de la elecci贸n-acci贸n del usuario. -Para detectar si una partida guardada existe y se ha cargado correctamente. -Para validar formularios.
Condicional If
La condicional que más se usa en programación de videojuegos es If. Estas condicionales son fáciles de programar, aceptan parámetros sencillos o múltiples y otras condicionales como else y else if para usar en selecciones múltiples.
Miremos algunos ejemplos de uso de la condicional if para demostrar c贸mo es su sintaxis y c贸mo se usa:
Parámetros sencillos El siguiente es un ejemplo de uso de la condicional if con parámetros sencillos: If(imput.GetButtomDown(“Jump”)) { código para hacer que el personaje salte }
Este código es una forma sencilla de usar un condicional If . Sólo se ha pasado un parámetro (En este caso, una opción de entrada a – el botón ha sido etiquetado como ”Jump”)
If (imput.GetButtomDown(“Jump”)) { código para hacer que el personaje salte }
Si el botón Jump ha sido pulsado, activará este condicional con un valor true. Entonces se ejecutará el código que está entre los corchetes.
Cuando se pasa un valor sencillo a un condicional If, comprobará un resultado true/false. En el caso anterior, comprueba si el parámetro es “true”, si queremos comprobar si el parámetro es falso usamos el operador “not” de la siguiente manera: If( ! Imput .GetButtomDown(“Jump”)) { El código que se ejecutará cuando el personaje no esté saltando } El signo ! antes del operador indica a Unity que se quiere saber si el parámetro que pasamos está retornando un valor nulo o está vacio.
Parámetros múltiples Para demostrar su uso vamos a comparar múltiples parámetros. Se debe iniciar declarando dos variables antes de la función Start() o de la función update() Var variable 1: int = 1; Var variable 2 : int =2; Entonces se crea la función Start: Funtion Start() { }
Y dentro de la funcion Start() colocamos el siguiente código:
If(variable 1>variable2) { print(“la variable 1 es mayor que la variable 2”) } Este ejemplo compara dos variables para establecer si `la variable 1 es mayor que la variable 2, si esta condición se cumple, el código entre los corchetes se ejecuta.
Cuando se comparan variables se pueden usar varios operadores matemรกticos. A > Indicarรก que la A es mayor que otro signo. A < indicarรก que la A es menor que otro signo.
A == Indicarรก que A es igual que otro signo.
!= Indica que A no es igual que otro signo. A >= Indica que A es mayor o igual que otro signo. A<= Indica que A es menor o igual que otro signo. A
Condicional Else y Else if En los condicionales If anteriores todo era simple, se usó una condición simple. ¿Qué ocurre si queremos hacer cosas diferentes según los valores? Por ejemplo, si la primera variable contiene un 5 y queremos hacer una cosa, si contiene un 3 y queremos hacer otra y si hay otro valor, otra. Esto se puede hacer usando el condicional Else y Else If.
Un ejemplo del uso del condicional Else y Else if es el siguiente: if(variable1 == 5) { print(“var1 es 5”); } else if(variable1 == 3) { print(“var1 es 3”); } else { print(“var 1 es otro valor”); }
En este ejemplo, El primer bloque de código se ejecutará si la variable es igual a 5. El segundo bloque si es igual a 3.
El tercero, si la variable contiene otro valor.
Se pueden usar tantos If como sea necesario para selecciones más complejas.
Anidando También se pueden agrupar varias condicionales para segmentarlas. En este ejemplo se han anidado dos condicionales if
if(variable1 == 5) { print(“var1 es 5”); } else { if(variable1 == 3) { print(“var1es3”); } else { print(“var1 es otro valor”); }
}
Condicionales SWITCH /CASE Permiten tomar una sola variable y realizar múltiples operaciones dependiendo de lo que contiene la variable. switch(una variable) { case “A”: funcioncualquiera(); break; case “B”: otrafuncion(); break; default: break; }
El condicional switch toma la variable y realiza uno de los tres eventos dependiendo del valor de la variable. switch(una variable) { case “A”: funcioncualquiera(); break; case “B”: otrafuncion();
break; default: break; }
Si la variable contiene A, se ejecutará: funcionculaquiera(). La palabra “break” detrás de cada “case” detiene el script en ese punto, por lo que los condicionales “case” son recomendables en escenarios específicos. Si la variable contiene B, entonces se ejecutará: otrafuncion() Si ninguna de las dos se cumple utilizará la operación: “default”.
Bucles Permiten repetir bloques de c贸digo hasta que se cumplen ciertas condiciones. Dos tipos de bucles son usados con frecuencia en la programaci贸n de videojuegos. El bucle While y el For.
Bucles while Permiten repetir el c贸digo . Se usa normalmente para leer Arrays de datos (Como cuando se lee un archivo cargado)
Veamos un ejemplo de un bucle While en el que se incrementará un contador en cada ciclo hasta que el contador llegue a 10. Antes de la función Start() se debe declarar la variable: var contador : 10 = 0; Después se coloca en la función Start() el siguiente código: while(contador <= 10) { print(“Contando” + contador); contador++; }
Después de esto se ejecuta el juego. Posiblemente se verá que se ha contado 10 en la pantalla ya que se repetirá tan rápido que no se verá el incremento. Se puede detener el juego para ir a la consola , allí se verá la cuenta desde 0 hasta 10. El bucle While ha ejecutado el print hasta que el contador ha llegado a 10.
Los bucles While son simples de crear, solo se debe recordar que el bucle debe alcanzar la condici贸n que lo detiene o de lo contrario el c贸digos se repetir谩 en un bucle infinito hasta llegar al punto en el que el computador detenga la ejecuci贸n.
Bucles For En estos bucles se pueden definir condiciones y el incremento sin salir de la inicializaci贸n del bucle. Se usan sobre todo para contadores o bucles de tipo incremental.
Veamos un ejemplo de un bucle For: for(var contador = 0; contador <= 10; contador++) { print(â&#x20AC;&#x153;Contandoâ&#x20AC;? + contador); }
Con los bucles For se definen los par谩metros de inicializaci贸n del bucle, estos son: For(Valor_de_inicio;condicion_para_detener; incremento) For (var contador = 0 ; contador <= 10 ; contador++) El c贸digo hace exactamente lo mismo que bucle while.