Bienvenido de nuevo, Mis desarrolladores de juegos favoritos.
En este video, vamos a estar creando
nuestro primer guión y agregándolo a nuestro reproductor de doom.
No sólo eso, vamos a estar aprendiendo muchas cosas,
vamos a estar aprendiendo lo que significa esta palabra aterradora.
Vamos a aprender sobre las variables.
Vamos a aprender sobre los insumos.
Vamos a aprender sobre el vector 2.
Vamos a estar aprendiendo cómo empezar y actualizar funcionan por separado.
Entonces con eso dicho,
este es un video un poco más largo si quieres,
pero si eres principiante, es muy importante,
muy crucial entenderlo todo.
Entonces, no perdamos más tiempo y empecemos.
Oh, está bien, entonces es hora de algunos scripting.
Lo primero que vamos a hacer es crear
un guión y asignarlo al jugador del doom.
Ahora, hay muchas formas de crear scripts y hay
muchas formas de asignar scripts a ciertos objetos.
Todos son iguales.
Empecemos con el más básico,
y eso es simplemente hacer clic en el objeto del juego.
Se puede ver aquí mismo que tenemos la transformación.
Es uno de los componentes que tenemos.
Podemos agregar otro componente aquí mismo haciendo click sobre él.
Ahora, se puede ver que tenemos muchos componentes que podemos agregar,
van desde el audio a afectar,
hasta la física y así sucesivamente.
Pero también tenemos esta opción aquí mismo de agregar scripts.
Podemos dar click en él. Podemos ver a través de ella y agregar el guión que queramos.
O incluso más fácil que eso,
simplemente podemos empezar a escribir el nombre del script que queremos agregar.
Y el guión que queremos llamar o crear será el controlador del jugador.
Por lo que vamos a crear controlador de capas aquí mismo y asegurarnos
de que cree el nombre para que sea una sola frase sin ningún espacio.
Se puede ver aquí mismo tenemos la opción de un nuevo guión.
Vamos a dar click en él.
Se puede ver el nombre como controlador de jugador.
Y ahora podemos crear el guión,
pero asegúrate de que zapato descubra la palabra correcta o el nombre correcto
para el guión porque será el nombre de la clase dentro de este guión.
Esto será muy crucial a medida que crees guiones más adelante.
Entonces vamos a crear un anuncio.
Espera sólo un poquito.
Y ahora deberíamos ver que tenemos listo el guión.
Si le damos click aquí mismo,
podemos ver en el Inspector cómo será este guión.
Y ahora vamos a hacer doble clic.
Y se puede ver que Visual Studio se está abriendo.
Ahora.
Una de las cosas que mucha gente o muchos estudiantes míos me siguen preguntando una y otra vez.
Si tu script no se abre usando Visual Studio, o por ejemplo,
cuando escribes algo aquí y no obtienes las recomendaciones de Visual Studio,
puedes entrar en el eso, ir a Preferencias,
ir a Herramientas externas,
y en el editor de scripts externo,
asegúrate de tener Visual Studio Community.
Puedes elegir nuestros IDE como Visual Studio Code.
Pero a mí personalmente, me gusta o prefiero usar la Comunidad Visual Studio 2019.
Es mucho mejor y más suave que el estudio.
A veces el estudio solo tiene sus peculiares donde no aparece,
no se abre correctamente.
Por lo que prefiero usar Visual Studio Community.
Eso es gratis.
Funciona.
Sigamos adelante.
Ahora.
Tenemos nuestro guión abierto aquí mismo.
Tenemos las bibliotecas que podemos usar.
Tenemos el nombre de la clase, el controlador del jugador.
Siempre debe tener el mismo nombre que el script que hemos creado aquí mismo.
Entonces puedes ver controlador de jugador bajo ninguna circunstancia cambias
el nombre del guión aquí sin cambiar el nombre de la clase?
Ni siquiera intentes hacer eso.
Creará muchos problemas.
¿ Qué tenemos aquí? Es un público,
ya veremos qué significa eso.
Es una clase, es un comportamiento mono.
El comportamiento de Monte nos da la capacidad de usar cosas como inicio y actualización.
¿ Qué es el inicio? Start es un método.
Veremos más adelante cuáles son los métodos.
Pero por ahora todo lo que necesitas saber cualquier código que escribamos dentro de
la estrella se ejecuta tan pronto como iniciamos nuestro juego,
si ese objeto está encendido,
claro, veremos lo que eso también significa más adelante.
Una actualización, como puede ver,
actualización se llama una vez por fotograma.
Entonces si tenemos, por ejemplo,
cosas que queremos llamar cada actualización de fotogramas es perfecta
para eso y veremos todo esto a medida que avancemos por este curso.
Entenderás todo, no te preocupes por ello.
Ahora, lo primero que tenemos que hacer es que necesitamos una forma de mover a nuestro jugador.
Lo haremos tomando entradas de las teclas de flecha o de las teclas WASD.
Pero antes de hacer eso,
hay algo que debemos tomar en consideración y esa
es la velocidad de movimiento de nuestro jugador.
Y para eso, vamos a necesitar una variable.
¿ Qué es una variable cuando se trata de C-sharp? Déjame explicarte.
Las variables son como cajas.
Entonces tenemos una caja,
le damos el nombre vive,
y ponemos dentro de esa caja un número tres.
Por lo que ahora tenemos una variable obtener vidas que tiene un tres dentro de ella.
Entonces así es como creamos el código para esta caja o valiosa.
Empezamos dando la accesibilidad.
Entonces, ¿dónde se puede acceder a esta variable?
Puede ser público o puede ser privado.
Si es privado, sólo podemos acceder a él dentro
de la clase que hemos creado, no desde afuera.
Si es público, podemos salir de cualquier otro guión que queramos.
Tenemos que asignar el tipo de la variable.
Por lo que tenemos múltiples tipos,
tenemos enteros, cadenas y así sucesivamente.
Veremos en tan solo un poco qué otros tipos tenemos.
Tenemos el nombre de la variable.
Obviamente, cada variable debe tener un nombre.
¿ De qué otra manera lo llamamos?
Y tenemos los datos que se encuentra dentro de esta variable.
Entonces así es como creamos una variable en C Sharp.
Y esta es la representación si quieres,
Es justo como una caja que ponemos las cosas y luego seguimos adelante.
Tenemos diferentes tipos de variables.
Y el primer tipo es una velocidad.
Entonces un entero es un número normal, digamos 123456.
Un flotador es, digamos 4.8.
¿ Por qué tenemos un flotador?
Porque a veces la velocidad de algo o la velocidad de un auto no son sólo cinco o seis.
Puede ser 6.32,
puede ser 6.9, puede ser 6.9456.
Entonces necesitamos un flotador,
y así es como creamos un flotador.
Siempre agregamos los datos.
Por lo que el 4.8 con una F al final.
Entonces tenemos un booleano.
El booleano suele ser cierto o es falso.
Entonces, por ejemplo, digamos que queremos determinar si un jugador está muerto o no.
Entonces como él, que está muerto,
entonces la variable es cierta.
Si no está muerto,
entonces la variable es esa S falsa.
Por último, tenemos una cuerda.
Entonces, por ejemplo, ¿qué es una cadena de caracteres?
Tenemos múltiples personajes,
uno tras otro.
Veo h, e, l
Esa cadena de personajes es Michael.
Por lo que llamamos a una variable de tipo string con el nombre mi nombre,
y representa michael.
Asegúrese siempre que cree una variable de cadena que esté entre estas dos comillas.
De acuerdo, ahora, con todas estas variables hechas con,
Vamos a seguir adelante y crear nuestra propia variable en los guiones aquí mismo.
Entonces lo primero que vamos a hacer,
ya que vamos a crear algo llamado campo serializado.
Ahora, no tengas miedo de este nombre largo.
Va a ser un entero,
y se le va a llamar la velocidad de movimiento.
Ahora esto determinará qué tan rápido se mueve nuestro jugador a medida que implementamos
tu entender y por qué estamos usando algo llamado el campo serializado.
Me acabas de decir, Michael,
que es público o privado.
¿ Qué hace este campo serializado Meet?
Bueno, no te preocupes por ello.
Más tarde.
También explicaré por qué estamos usando algo llamado campo serializado.
Pero por ahora entienda que es algo que podemos ver en el Inspector.
Entonces si hago esto público,
guarda esto, vuelve a nuestro guión.
Ya verás que en el inspector esto cambia.
Tenemos el público y el movimiento.
Y si vamos al jugador de la fatalidad,
puedes ver aquí mismo que tenemos la velocidad de movimiento y podemos cambiarla.
Pero si lo hago privado para que otros guiones no accedan a él,
notarás aquí mismo que ya no podemos cambiarlo.
Pero y si queremos poder cambiarlo desde el Inspector,
pero al mismo tiempo,
no queremos que otros guiones accedan a él.
Bueno, en ese caso,
creamos un campo serializado.
lo guardamos.
Volvemos atrás y hacemos inspector.
Y puedes ver en este momento,
no podemos cambiarlo,
pero otros scripts no pueden acceder a él.
lo veremos más adelante a medida que avancemos cuando tengamos otros guiones.
Genial, por lo que ahora tenemos la variable de la velocidad de movimiento.
Lo siguiente que queremos conseguir es d,
movimiento, dirección o la entrada que obtenemos.
Entonces, ¿cómo vamos a mover a nuestro jugador?
Bueno, vamos a necesitar dos insumos.
Uno que moverá al jugador a izquierda y derecha,
o en dirección horizontal,
y otro que moverá al jugador hacia arriba y hacia abajo,
que es la dirección vertical.
Entonces la forma en que hacemos eso es usando el sistema de entrada y vamos a
conseguir nuestras entradas usando algo llamado el punto de entrada get access Raw.
Ahora, podría estar confundido. ¿Qué es eso?
¿ Cómo vamos a conseguir esto?
Bueno, siempre que te enfrentes a algunos tal vez.
A lo mejor un nuevo método o
alguna cosa extraña que estamos usando en unidad y estás un poco confundido.
Tienes un amigo muy servicial, que es Google.
Y luego cuando lo busques en Google,
puedes ver que tenemos algo llamado la documentación de Unity,
que es un lugar tan increíble y debería ser una fuente diaria de información para ti.
Por lo que queremos usar input.
Queremos conseguir los ejes,
que son los horizontales y verticales.
Se puede ver aquí mismo,
si lo buscamos y las documentaciones,
tenemos toda la información que necesitamos.
En primer lugar, podemos ver cómo funciona la declaración.
Podemos ver la descripción por lo que devuelve
el valor del acceso virtual identificado por nombre de eje.
También te dice cómo usar estos diferentes métodos.
Y también te da aquí mismo un ejemplo de cómo usarlo.
Y he aquí, lo
usan y la actualización,
incluso podemos seguir adelante y copiar esto y usarlo en nuestro propio rey.
Pero por ahora, sólo vamos a buscar el punto de entrada,
obtener fila de acceso, horizontal.
Muy bonito. Pero, ¿de dónde sacaron el nombre horizontal?
Vamos a comprobarlo.
Si volvemos atrás y nuestro juego.
Si vamos al archivo o déjame ver la Editar configuración del proyecto.
Si miramos a través del gestor de entrada,
hacemos click en el eje,
podemos ver que tenemos el firewall horizontal,
vertical para saltar, salto
fuego MouseX, etcétera.
Estos son todos los insumos que podemos utilizar.
Y si hacemos click en el Horizontal,
se puede ver aquí mismo que tenemos el nombre horizontal,
ahí por qué se está utilizando aquí mismo.
tanto que aquí se puede ver que estamos usando horizontal.
Y también tienes la vertical y puedes ver que el botón negativo está a la izquierda,
el botón positivo está a la derecha.
Y también tienes un botón fuera negativo, lo que significa alternativa,
que es la a y la D. También tienes la gravedad y demás,
pero de detalles ahí dentro.
Y también tienes el eje,
el eje x, que significa lo horizontal.
Entonces sigamos adelante en nuestro código e implementemos esto.
Entonces vamos a abrir el frío aquí mismo.
Lo usaron una actualización.
Sigamos adelante y lo usemos y actualicemos porque queremos
tener acceso a ella cada vez.
Entonces vamos a escribir aquí punto de entrada, obtener acceso mal.
Y vamos a abrir los dos corchetes aquí.
Pero ahora queremos escribir horizontal.
Digamos que escribimos prisa xanthan.
Para que puedas ver, como que lo estropeé.
No es la palabra correcta.
Si no es exactamente la misma palabra que la utilizada aquí mismo en la Configuración del proyecto.
Esto no funcionará.
¿ Qué significa eso?
Siempre que estamos usando las referencias de cadena,
ya aprendimos qué son las cadenas.
Tenemos que asegurarnos de que vayamos a Unidad.
Haga doble clic aquí para seleccionarlo,
Control C para copiarlo,
vuelva aquí y pegue.
Esto fue asegurar que no cometeríamos ningún error cada vez que
estamos creando o usando una referencia de cadena.
Esto es muy importante porque cuando se trata de errores,
esto no será detectado por el Visual Studio.
Por eso es imperativo siempre que estés usando una referencia de cadena para siempre, siempre
copiarla y pegarla.
Esta es una regla que usarás todo tu desarrollo de juego de viaje.
Ahora que tenemos el eje rodar sobre horizontal.
También podemos agregar la vertical,
pero no es suficiente.
Necesitamos una forma de almacenar lo que estamos haciendo clic.
Entonces la forma en que hacemos eso es que vamos a crear otra variable aquí.
Esta vez va a ser privado.
Va a ser de tipo vector 2 y va a ser el movimiento.
Y ahora qué es un vector dos y por qué lo usamos para tener la entrada de movimiento.
Bueno, porque si miramos atrás aquí y esperamos a que se compile,
puede ver que la posición es una x, y, y z
Ahora, porque no estamos trabajando en dimensión VC y esta dimensión,
quieras llamarla,
nosotros sólo están trabajando en la x e y.
queremos tener un vector a que tomará tanto la x como la y.
entonces ahora lo que podemos hacer en nuestro código,
podemos venir aquí.
Podemos escribir entrada de movimiento.
Podemos agregar el punto x y va a ser igual al punto de entrada.
Obtener acceso mal.
Y solo para asegurarnos de que podamos ver todo,
vamos a escribir debug dot log.
Y aquí dentro sólo vamos a imprimir el movimiento,
ese pie punto x.
Vamos a guardar eso.
También sigamos adelante e imprimimos el registro de puntos de depuración y toda la entrada de movimiento.
Entonces voy a escribir aquí,
este es el vector.
Para guardar eso, vuelve a Unity y asegúrate de tener la consola aquí mismo.
Si no vas a Ventana, ve a General.
Y puedes ver aquí mismo tienes la ventana de la consola.
Por lo que vamos a dar click aquí.
No te preocupes por estos pequeños errores.
Ejecuta el juego.
Ahí vamos. Por lo que podemos ver que actualmente tenemos ceros.
Podemos dar click en el colapso.
Esto colapsará todos los mensajes que son iguales.
Si ahora tratamos de presionar a o D,
si presionamos sobre la a, ahí tienes.
Se puede ver que esto se convierte en menos 1 y el vector 2 es menos 1 000.
Si presionamos la tecla d,
notarás que se convierte en 1 y el vector dos es 110.
Entonces ahí vamos.
Excelente. Ahora que entiendes cómo funcionan estas, cómo se ven estas,
es hora de un pequeño reto y tu reto va a ser conseguir la entrada y.
Así que comprueba en Project Settings Input Manager para la entrada y, ¿cuál debería ser?
¿ A qué me debe referir la cuerda?
Obtener la entrada y el código utilizando el rodillo del eje de brecha.
También puedes echar un vistazo a algo llamado el get access sin fila.
Este es un buen El recurso extra para que hagas.
Es muy fácil, solo revisando la documentación,
el solo consigue acceso sin Rob, ve cuál es la diferencia.
Y por último, necesitarás mostrar esa entrada en la consola usando el registro de puntos de depuración,
igual que hicimos usando la entrada de movimiento.
Así que pausa el video ahora mismo y ve a hacer el cada galón.
De acuerdo, bienvenido de nuevo.
¿ Cómo te pusiste con eso?
Siempre espero que estés intentando lo mejor posible.
Entonces vamos a duplicar esta línea.
¿ Cómo haríamos eso? Simplemente haga clic en el final de esta línea.
Sostén el control D.
Ahora tienes exactamente la misma línea.
Vamos a cambiar esto de la x a la y.
ahí tienes.
Y luego el input.txt obtener acceso.
Rob, ¿qué debería ser esto?
Bueno, sabemos que esto debe ser vertical,
pero siempre que estamos tratando con referencias de cadenas, vamos a la vertical,
hacemos
doble clic en Control C, retrocedemos en el control de código V, guardamos eso.
Y vamos a duplicar esto también,
punto de entrada de movimiento y. Y
vamos a añadir un poco de palabras aquí.
Entonces esta será la x,
esta será la y.
guardar todo eso,
volver a la unidad.
Eso es cerrar la ventana de configuración del proyecto.
Ejecuta el juego. Entonces ahora como se puede ver tanto la x,
la y, y el vector o todo 0.
Y se puede ver cuántos tenemos aquí.
Una vez presionamos la w,
Podemos ver que tenemos la y como uno,
el vector 2, 0, 1.
Si presionamos la S, es minús1.
Si presionamos el a,
x es minús1 mientras que el y sigue siendo 0,
lo puedes ver aquí mismo en el vector 2.
Si presionamos tanto la tecla W como la tecla D,
se puede ver que tenemos este vector es 1,
1 con x siendo uno.
Y todo está funcionando perfectamente bien con todo.
Por lo que espero que lo disfruten.
Espero que hayas entendido lo que está pasando.
Si no estás seguro de lo que está pasando.
Trató de mirar a través de esto de nuevo,
entender lo que significa un vector dos.
También tenemos algo llamado el vector 3.
Siempre que estamos trabajando con dimensiones VC,
si se trata de un juego 3D.
Y con eso dicho,
espero que disfruten y espero que también entiendan cómo se está llamando actualización
cada fotograma se puede ver cuántas veces se está llamando.
Y sólo por una pequeña demostración,
si todavía estás un poco escéptico de lo que estoy diciendo,
Probemos debug dot log.
Y digamos aquí, oye,
estoy y empiezo a ser llamado una vez.
Guardó eso de nuevo en nuestro juego cuando corremos,
tan pronto como este se ensambla, ejecutar el juego.
Ya verás aquí mismo, oye,
se llama sólo una vez.
Y a estos se les está llamando cada fotograma.
Y nuestro juego con eso dicho,
de vuelta aquí, comprometer todos nuestros cambios.
Comprometerse.
¿ Y cómo deberíamos llamarlo aquí?
Se creó un guión para el jugador y las variables aprendidas.
Ahora bien, esto es porque estamos creando un curso normalmente cuando estás
haciendo un proyecto y aprendiendo variables, ¿no es eso importante?
Yo lo voy a quitar.
Eso es sólo decir que creó un script para la capa.
Nosotros vamos a comprometer nuestros cambios.
Y te veré en el siguiente video.