Tuto 2: mover la esfera

Anuncio
UNITY
PART II: Moviendo al jugador
El movimiento se lo vamos a dar a través de un programa
Definición de programa:
Un programa
es una secuencia de instrucciones, escritas para realizar una tarea específica
Para crear un programa se usa un lenguaje de programación:
Un lenguaje de programación es un lenguaje formal diseñado para
expresar procesos que pueden ser llevados a cabo por máquinas como
las computadoras.
Ejemplos de lenguaje de programación: Java, TurboPascal, Visual Basic, Phyton,
C, C++, C#, JavaScript, Perl
En nuestro caso vamos a usar C#
es un lenguaje de programación orientado a objetos desarrollado y estandarizado
por Microsoft
Los objetos son entidades que tienen un determinado estado, comportamiento
(método) e identidad:
 El estado está compuesto de datos o informaciones; serán uno o varios
atributos a los que se habrán asignado unos valores concretos (datos).
 El comportamiento está definido por los métodos o mensajes a los que sabe
responder dicho objeto, es decir, qué operaciones se pueden realizar con él.
 La identidad es una propiedad de un objeto que lo diferencia del resto; dicho
con otras palabras, es su identificador
Ejemplo:
En Unity vamos a usar Scripts hechos con C#
En informática un Script, también llamado archivo de órdenes o archivo de procesamiento por lotes es
un programa pequeño, simple, que se usa para realizar generalmente tareas muy específicas.
Por lo general se almacena en un archivo de texto plano.
Movamos el Objeto.
Para poder mover un objeto lo tenemos que definir como un cuerpo rígido: Rigidbody
A este cuerpo le vamos a poder aplicar fuerzas para su desplazamiento
Renombrar la esfera Jugador
Crear la carpeta scripts
Crear el script PlayerController:
Seleccionar Jugador. luego Add Component NewScript: llamarlo PlayerController
Una vez creado, mover el script a la carpeta Scripts
v
Abrimos el Script en el editor de scripts
Borramos el código del ejemplo
Vamos a chequear cada input del jugador para luego aplicar esa entrada al objeto
Para eso podemos usar Update y FixedUpdate
En Update va el código del programa, en FixedUpdate va todo lo relacionado con la fisica
Uso de la Interface Input
Esta clase lee los ejes, modificados por el teclado, una pantalla táctil o a través de un acelerómetro
la clase input nos permite capturar el cambio de los ejes
Una clase es una construcción que permite crear tipos personalizados propios mediante la agrupación de variables de
otros tipos, métodos y eventos. Una clase es como un plano. Define los datos y el comportamiento de un tipo. Si la clase
no se declara como estática, el código de cliente puede utilizarla mediante la creación de objetos o instancias que se
asignan a una variable.
Escribir Input
Seleccionar Input
Apretar la tecla ctrl + ‘
Accedemos a la información sobre la clase Input
Escribamos el código para leer los inputs horizontales y verticales del teclado que interactúan con el cuerpoRígido para
moverlo en la escena
Tipo
Intervalo aproximado
Precisión
float
-3.4 × 1038to +3.4 × 1038
7 dígitos
La palabra clave float denota un tipo simple que almacena valores de punto flotante de 32 bits
Definimos dos variables de tipo float
moveHorizontal y moveVertical
Queremos ahora agregar fuerzas al cuerpoRigido
Seleccionar Rigidody
Apretar la tecla ctrl + ‘
Accedemos a la información sobre la clase Rigidbody
Queremos agregar Fuerzas a nuestro cuerpoRigido
Usamos la función AddForce
En esta función necesitamos vector3 y Forcemode
Vector 3 guarda 3 decimales en un contenedor Vector3(x,y,z) que permite mover el objeto en 3 dimensions
ForceMode permite definir que tipo de fuerza le aplicamos a nuestro cuerpoRigido (fuerza, aceleración, impulso,
cambio de velocidad)
Creamos una variable que nos permita almacenar estos valores
Nuestra variable va a ser Privada , se va a llamar rb y va a ser de tipo Rigidbody
Private Rigidbody rb;
En la función Start vamos a setear esta variable (esta función es llamada en el primer frame donde el script está activo,
generalmente en el primer frame del juego)
void Start ( )
{
rb = GetComponent<Rigidbody>( );
}
Esto va a encontrar y tomar el valor (si existe) del componente Rigidbody y se lo va a asignar a la variable
Agregamos el código a nuestro Script
rb
Ahora que tenemos definida la variable rb vamos a ver cómo le asignamos los valores de la fuerza que queremos generar
Lo que sigue es asignar las variables moveHorizontal y moveVertical a Vector3
Para eso creamos una nueva variable de tipo
Vector3 llamada movement,
Los valores de x, y, z determinaran la dirección de la fuerza
X es la variable de movimiento horizantal
Y es 0 0.0f no nos queremos mover hacia arriba
Z es la variable de movimiento vertical (en el plano)
Tenemos que reemplazar vector3 en rb.addForce(Vector3) por nuestro nuevo Vectro3 llamado movement
I.
Variables y Tipos de Datos
Las variables son los sustantivos de los lenguajes de programación. En una primera aproximación se puede decir que son
almacenes de información. Esta información puede variar a lo largo del tiempo, por lo que se justifica el nombre de
variable para estos almacenes. Cada una de las variables tiene un nombre o identificador que la diferencia del resto y
sirve para invocar a su contenido, (invariable en el tiempo), y sirve para almacenar un tipo de dato concreto.
i.
Tipos Primitivos
Algunas de las palabras reservadas son nombres de tipos de datos Java:
Tipo
Descripción
boolean
Valor lógico true o false
char
Carácter Unicode 1.1.5, 16 bits.
byte
Entero en complemento a dos con signo, 8 bits.
short
Entero en complemento a dos con signo, 16 bits.
int
Entero en complemento a dos con signo, 32 bits.
long
Entero en complemento a dos con signo, 64 bits.
float Número en punto flotante IEEE 754-1985, 32 bits.
double Número en punto flotante IEEE 754-1985, 64 bits.
ii.
DECLARACIÓN DE UNA VARIABLE
Una variable representa un espacio en memoria para almacenar un valor de un determinado tipo. El valor de una variable
puede cambiar durante la ejecución de un programa. Para utilizar una variable en un programa, primero hay que declararla.
La declaración de una variable consiste en enunciar el nombre de la misma y asociarle un tipo de dato:
tipo_de_dato identificador
En el ejemplo siguiente se declaran e inician cuatro variables: una de tipo char, otra int, otra float y otra double:
Descargar