Ahora que podemos controlar la posición inicial de nuestro jugador asignándole un vector en el método
starc Vamos a averiguar cómo podemos moverlo de un lado para otro.
Como puedes notar ahora estoy moviendo con herramientas de mover de mi editor moviendo la nave en el
eje x y podría hacer básicamente lo mismo con el eje marquista.
En cuál crees que puede mover.
Y lo que estoy haciendo es trasladando al jugador o a la nave.
Y bueno junichi tiene métodos que nos permiten afectar este mismo movimiento.
El movimiento de traslación así que lo que vamos a hacer es consultar la API de Unity para ver de qué
nos podemos ayudar.
Entonces vamos a hacer vamos a traer nuestra documentación aquí y en el scripting piai.
Voy a buscar Transform aquí y aquí está el primer resultado dice aquí que es la posesión la rotación
y la escala de un objeto y es importante entender que cada Game o nosotrostenemos tiene un componente
Transform adentro y podríamos decir también que cada Transform es un objeto.
Nosotros podemos acceder a prácticamente cualquier propiedad de un objeto a través del componente Transform.
Por ejemplo si yo voy a pedir el sí recuerdan escribí para ver el nombre de mi objeto.
Bueno también podría haber hecho Transform spuntone y obtener el mismo resultado.
Desde aquí me da acceso a la raíz a mi objeto raíz entonces puedo obtener prácticamente cualquier cosa
a partir de transporte.
Y bueno vamos a revisar la documentación aquí tenemos algunas variables y en lo que yo estoy interesado
es en los métodos públicos.
Porque yo puedo tener acceso no importa que el lenguaje esté utilizando simplemente puedo utilizarlos
directamente y más específicamente estoy buscando un método una función que me ayude a mover mi jugador
que en este caso se llama Translate ya que es el que me permite mover el Transform en la dirección o
en la distancia de una transición.
Vamos a revisar que tiene dentro la documentación de Transform aquí nos indica que podemos mover el
Transform de un objeto relativo a su posición en el mundo o a sus ejes.
Puede ser local o puede ser global pero tenemos acceso básicamente a los tres ejes del objeto X y Z
y vamos a ver aquí viene un ejemplo de su implementación que transforma puntos Translate.
Luego le pasamos.
En este caso le están pasando un vector 3.ª for Watch y lo multiplican por puntos.
Muchas veces no entenderemos del todo lo que viene en esta documentación porque tal vez es algo más
avanzado pero lo que nos interesa aquí es el Transform Translate que es la sintaxis que vamos a utilizar
nosotros y de ahí podemos usar nuestro tulip de Visual Studio para ir desmenuzando su comportamiento.
Y ahora vamos a probarlo.
Hay que vivir aquí Transform punto.
Android transelec y veo que me pide que le pase un vector de traslación.
Eso quiere decir que tengo que pasar una dirección hacia donde quiero que se mueva el objeto.
Y bueno para hacer la prueba voy a escribir aquí 3 right para que se vaya hacia la derecha con el punto
y coma.
Y voy a correr mi juego para probarlo.
Vamos que en cuanto arranca el juego el objeto sale volando hacia la derecha y eso es porque constantemente
le está aplicando una dirección hacia ese sentido ya que está dentro de mí me apetece.
Ahora si te diste cuenta no utilicé la palabra clave en este caso y eso te da acceso directo a un vector
que va hacia la derecha pero también puede haber escrito aquí vector 3 y entre paréntesis uno en el
eje X que es lo que aparece a la derecha y en Z puedo dejar un cero y si salgo esto pruebo de nuevo
debería de obtener exactamente el mismo resultado voy a correr el juego.
Y ahí está exactamente el mismo resultado.
Ahora por qué nos estamos moviendo tan rápido.
Es porque nosotros lo estamos pasando uno.
Pero recuerde que al menos el juego está corriendo a 60 cuadros por segundo lo que quiere decir que
dentro del método óptico se está moviendo digamos un aproximado de 60 metros cada segundo.
Y como la cambiamos para que sea digamos un metro por segundo o algo así.
Bueno para empezar voy a quitar mi VT3 voy a usar el método que tenía antes el vector 3 que es exactamente
lo mismo sólo es como se ve.
3.
Right.
Y ahora lo que voy hacer es una multiplicación aquí.
Para que veamos el comportamiento del Taten para que el movimiento se haga más suave más lento y decirlo
por decirlo de una forma nos vamos a mover un metro por segundo.
En lugar de hacerlo 60 metros por segundo voy a salvar esto y voy a probar de nuevo voy a darle play
a mi juego.
Y como vamos a notar ahora nos estamos moviendo mucho más lento por decirlo de una forma un metro por
segundo en lugar de 60 metros por segundo.
Ahora probablemente queramos controlar la velocidad de nuestra de nuestra nave.
Entonces cómo hacemos para que se mueva un poco más rápido.
Cómo hacemos para controlar esa velocidad.
Yo simplemente podría hacer algo como una multiplicación por el número cinco para moverme cinco metros
por segundo.
Voy a salvar esto y voy a probarlo.
Corremos cinco veces más rápido.
Y qué pasa ahora si nosotros quisiéramos dinámicamente cambiar el valor de esa velocidad.
Aquí es donde introducimos el concepto de variables.
Las variables son básicamente contenedores de información.
Es decir no necesito regresar aquí y si quisiera que corriera a 20 metros por segundo en un 20 y guardar
y luego probar simplente podría tener una variable a la cual yo le pudiera asignar un dígito un valor
y ese valor dinámicamente yo podría cambiarlo.
Y entonces esa velocidad a su vez cambiaría dinámicamente.
Y qué tenemos que hacer para declarar una variable.
Tenemos que considerar tres requisitos básicos obligatorios y tal vez un cuarto que no es obligatorio.
Primero tenemos que saber si es pública o privada.
Es un identificador que le dice a la variables y puede ser acceso desde otro script o no si ésta pública
puede serlo si esta privada no puede serlo si está privada sólo puede tener acceso desde este mismo
script.
Además otra cosa que necesitamos en la declaración de las variables es el.
Dato o mejor dicho el el tipo de dato de la variable.
Los malos los más comunes serían un entero que es para números enteros floods que es para números con
decimales un BUL que es para falso o verdadero.
Y también uno más uno de los más comunes sería Strings que guarda líneas de caracteres o texto.
El último requisito que necesita cualquier variable sería Vamps el nombre.
Cada variable debe tener un nombre.
Nosotros vamos a crear aquí una variable para almacenar nuestra velocidad y opcionalmente podríamos
asignarle un valor.
Inicial.
Vamos que podríamos si queremos asignarle un valor inicial.
Así que para nuestra variable de velocidad voy a declarar aquí públic.
Y como nuestra variable va a ser podría contener decimales.
Va a ser de tipo Plait.
Voy a escribir Public Flood el nombre que tiene que tener en lo que tiene que tener yo lo voy a poner
Spit podría tener cualquier nombre y le voy a inicializar a 5.0.
Punto y Coma.
Esto no va a funcionar todavía porque como yo estoy explícitamente indicando decimales tengo que poner
una F.
Ese sufijo es necesario para cuando utilizamos variables de tipo float y ahora simplemente tengo que
reemplazar este número 20 que es un número que yo simplemente indique en el método y reemplazarlo por
ahora.
Yo podría hacer uso de esa variable.
Por ejemplo en el método Start y simplemente asignarle un 10 justo cuando el juego arranca.
Eso quiere decir que cuando yo le doy play a mi juego la velocidad de mi nave va a ser 10.
Uno de los beneficios de haber hecho la variable pública es que la puedo ver aquí en el Inspector como
pueden ver está en 5 y tan pronto como yo le Play debería de convertirse en un 10.
Voy a correr de nuevo.
Está de 5 a 10.
Ahora lo que voy a hacer enseguida es eliminar esta asignación del número 10 a mi variable.
Porque lo que quiero es afectarlas directamente en el editor.
Voy a guardar mi código así como esta y voy a cambiar el valor de 5 que es el default.
Por ejemplo puedo poner un 1 para ver que pasa con el play juego y podemos ver que como es un número
negativo ahora nos estamos moviendo hacia la izquierda y de hecho cambiar este valor en tiempo real
dinámicamente al valor que yo quiero simplemente tengo que arrastrar el valor hacia un lado y hacia
otro o simplemente dejarlo en cero.
Ahora es muy importante recordar lo siguiente Si por ejemplo yo llego a mi velocidad adecuada vaciar
10 ese 10 cuando yo quite Play.
Se va a eliminar lo que no se queda guardado.
Regresamos al valor original que teníamos antes de correr el juego que en este caso era menos uno.
Y es súper importante recordar esto porque todos esos cambios si haces mucho se van a regresar a su
estado original.
No sabes cuántas veces me ocurrió cuando estaba empezando a desarrollar un tic que estaba configurando
por completo mis propiedades y segundos y estaba haciéndolo para que permanecieran.
Pero estaba en Plymouth y perdía todo.
Justo cuando lo quitaba así que definitivamente tienes que estar seguro de no estar en Playmore cuando
estás haciendo grandes cambios pero para prototipado rápido hacer este tipo de cambios sobre la marcha
es muy útil.
Entonces cómo funciona la matemática de poder ir hacia la izquierda y poder ir hacia la derecha también.
Bueno realmente es algo muy simple.
Solamente tenemos que recordar nuestras clases de álgebra muy básicas porque lo que vamos a hacer ahora
es simplemente indicar hacia qué lado se va a mover nuestra nave basados en el vector que le estamos
pasando que van a ser unas multiplicaciones y vamos a tener un vector resultante que tiene deducción.
Vamos a desmenuzarlo aquí arriba para que sea mucho más entendible.
Primero tenemos un vector o tenemos ese vector punto Rita que básicamente es un BEC rectores que en
su X tiene uno.
Y en su GTZ tiene un 0 y éste nos indica hacia qué lado nos vamos a mover.
Si tuviéramos un 1 negativo nos volcamos hacia el lado contrario hacia el lado izquierdo.
Pero el vector 3.x de uno cero cero que tenemos tenemos un punto del tamaño que para este caso vamos
a asumir que es un 1 entonces vamos a multiplicar nueve tres uno cero cero por uno.
Y luego tenemos nuestra velocidad que también hay que tener un skeet es un 5 es decir utilizando orden
de operaciones primero pasaremos a multiplicar ese cinco por uno.
El resultado es un 5.
Luego lo multiplica por el vector que en el caso de cinco por uno es uno cinco cinco cero cero y cinco
por ser otra vez vuelve a ser un cero y esto nos da como resultado el vector 5 0 0 lo cual hace que
nos movamos a la derecha.
Pero qué pasa si nuestra velocidad es menos cinco.
Por ejemplo hacemos lo mismo pero el resultado va a ser menos cinco por uno es menos cinco.
Y si lo multiplicamos por uno va a darnos menos cinco.
Iceta se van a mantener iguales.
Vector resultante que nos mueve hacia la izquierda.
Si ponemos un cero bueno el resultado de ese vector de multiplicar uno por cero cero por uno nos vuelve
a dar.
Entonces tenemos un vector que hace que no nos movamos hacia ningún lado y así podemos detener a nuestra
nave hacia este vector si es negativo.
La izquierda si es cero nos deja detenidos y si es positivo nos mueve hacia la derecha.
Ahora esas son todas las matemáticas que vamos a ver en el curso porque no necesita ser un experto para
ser un desarrollador de videojuegos pero sí te ayuda a entender cómo están sucediendo las cosas por
debajo.
Y eso sería todo por este vídeo.
En el siguiente vamos a empezar a ver input del usuario y cómo podemos utilizarlo para manipular nuestro
vector de dirección ya sea para movernos hacia la izquierda o hacia la derecha.
Los veo entonces.