Transcripciones
1. Introducción: En este curso,
aprenderás a agregar multijugador de Steam a cualquier proyecto de juego usando planos
en Unreal Engine El curso cubre todo lo que necesitas saber de
principio a fin, incluyendo cómo instalar las sesiones de
Steam Advanced. Conecte cómo crear el menú
principal para los juegos en línea. Cómo crear el menú
Crear Sera para alojar servidores en línea. Cómo crear el navegador del servidor y mostrar servidores en línea. Cómo agregar una opción de Servo
Filtro para filtrar por idioma Servo
Nombre tierra y más. Cómo crear, buscar y
unirse a servidores de juegos en línea. Y por último, cómo empaquetar el proyecto para que amigos y
familiares jueguen juntos. Al final de este curso, obtendrás las habilidades y la
confianza para
integrar Steam sin problemas en cualquiera de
tus proyectos de Unreal Engine
Five Y recuerda que
estaré aquí para brindarte
apoyo lo largo de tu viaje de aprendizaje y espero
verte pronto.
2. 1.01 VS, . NET Core, . NET Framework y DirectX: Antes de que
empecemos, tienes que descargar un par de
cosas para que funcione. Lo primero que
debes descargar es algo llamado Dotnet Core Si escribes eso en
Google y lo buscas, puedes ver desde Microsoft el primer sitio web
diciendo descargar Net. Dentro de aquí tienes
un botón para éste, DoesDK, tienes que descargar el último que
veas en tu pantalla Podrías ver
esto en el futuro, no
importa, solo tienes
que descargar el último. Ahora, cuando hayas hecho Core, también
tienes que descargar el.net Framework.
Si haces clic en él y solo vuelves a descargar el último que
ves en tu pantalla. Adelante y descarga
el Net Framework. Entonces tienes que
descargar directamente X. Así que sigue adelante y
descarga directa X, selecciona el idioma,
y pulsa Descargar. Lo último que tienes que descargar es Visual Studio 2022. Adelante y da click en él.
Para Visual Studio sólo tienes que seleccionar
la Comunidad 2022. Y adelante y
descarga eso también. Ahora para Visual Studio 2022, hay
que instalar
algunas cosas específicas. Es muy importante que prestes atención aquí haciendo clic en
Modificar para mi instalador, veas
lo
que tengo instalado y
puedas instalar las mismas
cosas dentro de aquí. Lo que quiero que instales es el que se llama.NET
Desktop Development Descarga, la que se llama Desarrollo de
Escritorio
con Plus Plus. universal de
plataformas Windows, desarrollo móvil
con Plus Plus. También el desarrollo de juegos
con Plus Plus. Lo último, no creo que lo
necesites, pero yo lo tengo. Desarrollo Linux y embebido con C Plus Plus. Además, asegúrese en el componente
individual. Y es mejor si
hago clic en este Sap para que lo veas y
voy al fondo. Tenemos el SDK de Windows. Tengo el SDK de Windows Ten. Muy importante para
descargar eso también. Incluso puedes descargar
la misma versión yo si la puedes ver
en mi pantalla. También puedes descargar
el SDK de Windows 11. Dos SDK es muy
importante tener. Entonces solo tienes que seguir adelante e
instalar un estudio visual 2022. Cerremos esto y
volvamos a mí una vez que lo
hayas terminado.
3. 1.02 Convertir el proyecto a C++: Sigamos adelante y
lancemos el motor En este curso, estoy usando el último motor, 5.3 Ahora, si estás viendo este curso y
tienes una nueva versión, no
importa. Sigue siendo el mismo proceso. Para que puedas seguir adelante
y verlo también. Sólo voy a
lanzar Unreal Engine 5.3 En esta ventana, puedes o bien crear un
nuevo proyecto haciendo clic en juegos y puedes seleccionar
una plantilla desde la que trabajar Ahora ya tengo un proyecto. Voy a mis proyectos recientes, y aquí los puedo ver. Realmente no puedo ver mi proyecto
reciente en el que
quiero trabajar. Voy a dar click en Navegar. El que voy a trabajar
se llama Counterstrike. Voy a seleccionar este
proyecto aquí y presionar Abrir. Ya que mi proyecto está hecho con Unreal Engine 5.2
y no 5.3 solo
voy a dar click en abrir
una copia del mismo para que no elimine mi copia anterior acaso
algo sale mal Ahora para este curso, de nuevo, estoy usando el Proyecto
Counterstrike y es un curso
que he lanzado. Si deseas tomar este
curso, puedes por supuesto, ir a la página web Game Instruct.com Dentro de aquí
puedes tomar el curso También tengo muchos
otros cursos. Tengo un
mercado de activos donde
puedes comprar activos listos para el juego. Tengo
tutoría privada y así sucesivamente. Puedes seguir adelante y visitar esto. Déjame cerrar esto. Ahora, abrió mi proyecto aquí, voy a establecer la
escalabilidad a Epic También se puede hacer eso en
la configuración de aquí arriba. Escalabilidad, suelo
hacerlo en Epic. Ahora estamos listos
para trabajar con esto. En esta lección, vamos a convertir el proyecto
a C plus plus. A pesar de que estamos
trabajando con blueprint, no
vamos a
trabajar con C plus plus, pero tenemos que convertirlo a un proyecto C plus antes de que
el plugin de Steam pueda funcionar Sigamos adelante y hagámoslo
muy fácil. Vamos a hacer clic en. Antes de hacer eso en realidad
déjame ir a Herramientas e ir a Bug. Y nosotros solo reflectores,
voy a UI porque estoy grabando desde un monitor de cuatro K y podría
parecer pequeño en la grabación. Ahora vamos a hacer clic en Herramientas. Siga adelante y haga clic en el
nuevo archivo C plus plus, luego haga clic en Siguiente. Simplemente haga clic en Crear clase. No es realmente muy
importante darle un nombre, ahora está convirtiendo el proyecto en un proyecto C plus plus. Cuando esto está terminado,
técnicamente se trata de un proyecto. Ahora solo sigue adelante
y pega bien aquí. Y te pregunta si
quieres editar el código. Ahora adelante y haz clic
en No. Ahora ya estamos listos. Sigamos adelante y
cerremos este proyecto, y pasemos
a la siguiente lección.
4. 1.03 Añade un complemento de sesiones avanzadas en Steam: Ahora sigamos adelante y agreguemos
el enchufe de las sesiones de vapor. Para ello, quiero
que vayas a Google y busques Si Steam. Cuando buscas
esto, ves el
primero en Github
llamado Sense Steam, y este tipo tiene
el enchufe aquí. Adelante y haz click en el código aquí
arriba y descárgalo. Ahora, ya
descargué este archivo, y lo puedo ver aquí,
el steam master. Voy a abrir mi expediente. Abre aquí, haz clic en los inicios de sesión. Abre las sesiones avanzadas
de Steam. Enchufe. Estos son los
dos archivos que avanzaste sesiones y las sesiones
avanzadas de Steam. Así que permítanme seguir adelante
y minimizar el navegador. Puedes seguir adelante y encontrar tu archivo de proyecto con el que
estás trabajando. Este es, de nuevo, el proyecto de
contraataque en el
que estoy trabajando aquí Lo que quiero que hagas es
quiero que hagas click derecho, adelante y crees una nueva
carpeta y la llames plug ins. Abre la carpeta de plugins. Quiero que arrastren las sesiones
avanzadas hasta aquí, y también las sesiones Advanced
Steam. Tienes estas dos carpetas
dentro de la carpeta plugins. Esto es todo lo que
necesitábamos hacer, ahora tenemos el plug in
dentro de nuestro proyecto.
5. 1.04 Creación de sitios en Visual Studio: Antes de que podamos continuar
y abrir el proyecto, tenemos que construir
en visual studio. Además, antes de hacer esto, eliminemos algunas de las carpetas para que no nos
dé ningún error. Si tiene la carpeta VS, continúe y selecciónela y seleccione la carpeta de caché de
datos derivada. Ahora bien, si hay algunas
carpetas que no tienes, está bien, las vamos
a eliminar de todas formas. Adelante y selecciona también la carpeta
intermedia. Carpeta guardada VS config
y también theIslnFile. No borres el archivo del proyecto, es tu proyecto,
pero este Eliminar. Este es L y
archivo y elimina en tu teclado y
va a eliminar todos esos. Estas son las carpetas con las
que nos quedamos. Si tienes una carpeta
llamada binarios, también
puedes eliminar
esa carpeta Si no
lo tienes, está bien. Ahora lo que tenemos que hacer
es que tenemos que escribir, dar clic en el archivo del proyecto, seguir
adelante y dar clic en Mostrar más. Tenemos que dar click en el Generar archivos de proyecto de
Visual Studio. Cuando hagas esto, se
va a generar aquí. Ahora es por eso que era
tan importante descargar
el framework Visual Studio.Core.net Esto se debe a que tenemos que
generar este archivo SLN. Si obtienes algunas épocas
mientras haces esto, por favor lee
cuando está generando. Te va a dar una época. Si tiene y te va a
describir por qué
hay una época. Intenta leerlo, mira si
puedes buscarlo en Google y arreglarlo. Si no puedes, claro que puedes, también escribirme, yo te
ayudaré. Tenemos una gran comunidad
aquí en Discord,
así que por supuesto, puedes
usar este
enlace de Discord para unirte a Somos mucha gente sentada
aquí ayudándonos unos a otros. Estamos cerca de mil
o 2000 en este momento. Sigamos adelante y
abramos el archivo SLN. Entonces, si hago doble clic en este archivo, se abrirá un estudio visual. Y cuando
abra un estudio visual, continúe y haga clic en la
carpeta Juegos y haga clic con el
botón derecho en su juego, y podrá hacer clic en Construir. Ahora vamos a
construir un proyecto. Puede tomar algún tiempo, a veces toma 5 minutos, a veces lleva diez,
a veces 1 minuto. Sólo tenemos que esperar
a que se construya. Se puede ver aquí
dice tres de 17. Sólo voy a
hacer una pausa en este video hasta que este haya
terminado de construir. Ahora ya ha terminado de edificar. Es importante
ver que ha tenido éxito y tienes
cero errores aquí abajo. Esto es exitoso.
Vamos a cerrarlo, y pasemos
a la siguiente lección.
6. 1.05 Habilitación de plugins de sesiones avanzadas de Steam: Ahora estamos listos para
abrir el proyecto una vez más. Vamos a abrir tu archivo de proyecto. Dentro del proyecto,
necesitamos asegurarnos de que el plugin de Steam esté
instalado correctamente, haciendo clic en Ventana o Editar,
más bien, y haciendo clic en
Plugins dentro de aquí. Vamos a hacer clic en este Plug
de Sesiones
Avanzadas que ves aquí. Vemos que tanto las sesiones
avanzadas como las sesiones
avanzadas de Steam
están habilitadas. También quiero que
baje y haga clic en plataforma en línea. Y
si te desplazas hacia abajo, solo asegúrate de que
el subsistema en línea también
esté habilitado. Ahora podemos ver que todo
esto está habilitado. Ahora puedo cerrar mi
proyecto una vez más, y pasemos a la siguiente lección.
7. 1.06 Edición del archivo DefaultEngine.ini: Como lo último, antes de que
todo funcione, tenemos que agregar algún
código dentro
del archivo motor predeterminado. Si solo vas a
Google y buscas algo como subsistema
en línea de Steam,
o subsistema en línea,
Unreal Engine, lo ves Unreal Engine llamado Subsistema
en línea Si lo abres
dentro de aquí, tienen algún código
que necesitamos agregar. Desplázate hacia abajo,
tienes algo aquí en la configuración terminada Motor
predeterminado, sigo adelante y copio todo esto. Realmente no necesitas
entender este código. Simplemente haga clic derecho en Copy It. Y luego quiero
que vuelvas a tu carpeta de proyectos aquí. Quiero que abra
el archivo de configuración y luego abra Default Engine. Y adelante y abre esto. Ahora dentro de aquí, desplácese hacia
abajo y en la parte inferior, continúe y haga clic en el control
V para paginarlo en. Lo único importante
dentro de aquí en este momento es este ID de desarrollador de aplicaciones Steam. Ahora bien, este 480 es un ID de prueba
que puedes usar para que básicamente
puedas implementar Steam sin subir
tu juego a Steam Steam nos ha hecho una ID de aplicación
de prueba que podemos
usar mientras desarrollamos. Sin embargo, si
ya has subido tu Steam o tu
juego a Steam, tienes que cambiar
este ID de 480 app
a tu propio ID de app de juego. Así que aquí estoy logueado en Partner dot Steam
games.com De nuevo, tengo un curso sobre esta página. Si vas a Game
instruct.com si quieres
aprender a subir
tu juego a Steam, yo tengo eso, pero
solo quiero mostrarte que aquí puedes
ver tu ID de app Simplemente sigue adelante y toma
este número si lo
has subido a Steam
y agrégalo aquí, y funcionará
en tu propio juego. Pero por ahora, en realidad
no tenemos que subirlo a Steam si aún no
estás listo. Entonces esta idea de 480
va a funcionar bien. Solo recuerda seguir
adelante y hacer clic en Guardar. Por lo que se salva. Vamos a cerrarlo. Y ahora
vamos a abrir el proyecto. Así que voy a
doble mirada aquí. Cuando estamos dentro
del proyecto, tenemos que asegurarnos de
que Steam esté funcionando. Tienes que ejecutarlo como
un juego independiente. Si no haces esto, no
va a funcionar. Además, también
hay que correr vapor. Asegúrate de que Steam se esté
ejecutando en tu computadora. Sólo estoy revisando el
mío, no lo es. Entonces voy a abrir Steam y también iniciar sesión en tu cuenta, asegurarme de que Steam esté listo y
funcionando. Antes de que hagas esto, estoy encerrado en el vapor. Voy a dar click aquí y dar
clic en Juego Autónomo, y va a abrir el
juego cuando abra el juego. Se puede ver aquí abajo abajo
a la derecha, ese vapor está funcionando. Y de esta manera sabemos que Steam ha sido implementado y
el plugin está funcionando. Ahora estamos listos para pasar
a la siguiente lección.
8. 1.07 Crea el mapa del menú principal: Para comenzar, sigamos adelante y creamos el mapa del menú principal. Ya tengo una
carpeta llamada maps. Puedes seguir adelante y crearlo. Siempre puedes hacer clic derecho aquí, crear una nueva carpeta y
llamarla mapas dentro de aquí. Vamos a
hacer clic derecho a hacer un nuevo nivel. Sólo le voy a
dar un prefijo de mapa y llamarlo Menú Principal. Adelante y
haz doble clic en esto. Adelante y guarda los seleccionados. Ahora estamos dentro del mapa
del menú principal. Nada está aquí en este momento, pero lo que queremos
hacer es presionar Editar, y dar clic en Configuración del proyecto, y dentro de aquí dar clic
en Mapas y modos. Queremos cambiar el mapa de inicio de
Editores para que sea el menú principal y también
los valores predeterminados del juego Cámbielo al menú principal. Ahora cada vez que el
jugador inicia el juego, aparecen en el menú principal Y esto es también lo que queremos. Sigamos adelante y cerremos esto. Guarde todo y
pasemos a la siguiente lección.
9. 1.08 Modo de juego del menú principal y controlador de jugador: Antes de que podamos comenzar, tenemos que crear un
controlador de jugador y un modo de juego. Hagamos eso. Ya tengo
una carpeta llamada blueprints. Ahora realmente no hay que
prestar atención a todo esto. Esto es de mi juego. Si eres nuevo aquí, solo presta atención a las
nuevas cosas que creamos. Además, si tienes
un proyecto en blanco, no muy importante
para todo esto, hagamos clic derecho y
hagamos una nueva carpeta. Voy a llamarlo Menú principal. Vamos a trabajar
dentro de aquí. Vamos a hacer clic derecho, ir
a la clase Blueprint. Dentro de aquí,
queremos crear un controlador de reproductor dentro
de aquí. Aquí es donde Crear o el menú, cosas de
la interfaz de usuario y así sucesivamente. Entonces sigamos adelante
y creamos esto. Y lo voy a llamar EC para
controlador de jugador como prefijo. Y luego lo voy a
llamar Menú Principal. Volvamos a hacer clic derecho. Crear una clase de plano. Aquí podemos crear
el modo de juego. Y llamémoslo modo de juego GM como prefijo y
llamémoslo Menú Principal. Ahora los tenemos,
abre el modo de juego. Dentro de aquí tenemos que
asignar el controlador del jugador. Si vas a los valores predeterminados de clase aquí para la clase de
controlador de jugador, vamos a hacer clic aquí y cambiarlo al
controlador de jugador que creamos Adelante y pulsa Compilar, y cerremos esto
. Sobre y Editar Ajustes
del Proyecto.
Volver a Mapas y Modos. Dentro de aquí,
también tenemos que cambiar el modo de juego predeterminado
aquí a nuestro menú principal. Ahora abrimos el menú
principal, modo juego. Siempre que abrimos el juego, si haces clic en la flecha
pequeña aquí abajo, solo asegúrate de que la clase de controlador de
lugar sea el menú principal de nuestro PC
que creamos. Vamos a cerrarlo. Y lo
último que tenemos que hacer también checar en
la configuración del mundo. No tienes el mundo
poniendo puñalada abierta. Siempre puedes
hacer clic en Ventana arriba aquí y abrir
la configuración del mundo. Pero dentro de aquí en
el modo de juego anular. Asegúrate de tener tu Menú Principal
GM seleccionado también. Así que adelante y haz clic en
Archivo y Guardar Todo. Y ahora se implementa el modo de juego y el controlador del
jugador.
10. 2.01 Introducción a los planos de widgets: Ya estamos listos para
diseñar el menú principal. Pero antes de hacer
esto, echemos
un vistazo a los planos de widgets Ahora bien, si ya sabes qué es
un blueprint de widget y cómo navegar
dentro de ahí, puedes saltar a la siguiente lección Pero si eres nuevo aquí, sigamos
adelante aquí en la carpeta UI. Si no tienes
uno en tu proyecto, simplemente haz clic derecho aquí
en la carpeta de contenido, Haz una nueva carpeta llamada UI. Siempre es agradable
mantenerse organizado. Vamos a entrar en esta carpeta. Nuevamente, no te preocupes por
toda esta interfaz de usuario. Esto es de mi proyecto
Counterstrike que ya hicimos
en mi otro curso Pero vamos a hacer clic derecho
aquí, hacer una nueva carpeta. Vamos a llamarlo Menú principal. Sólo vamos a
trabajar dentro de aquí. Hagamos clic derecho ahora y hagamos una nueva interfaz de usuario y
creemos un plano amplio Hazlo aquí. En realidad lo
puedes llamar WB, Menú principal. Voy a crearlo más tarde. Por ahora, sólo voy a mostrarles lo
que es un blueprint de widget Vamos a abrirla.
Dentro de aquí ves una gráfica aquí y
puedes mantener pulsada con el
botón derecho del ratón para
navegar por aquí. A la izquierda tienes una paleta, y aquí tienes los botones, tienes el texto, y así sucesivamente. Entonces tienes un par
de elementos que puedes usar para diseñar la interfaz de usuario. Aquí abajo en la jerarquía, puedes ver lo que
has agregado a tu UI. Por ejemplo, puedes dar
click sobre esta imagen, dar click y arrastrarla aquí. Aquí puedes ver
la imagen que es blanca porque no
tenemos nada en ella. Pero también se puede ver que se agregó a la
jerarquía aquí abajo. Por lo general, cuando creamos UI, siempre comenzamos con un lienzo. Si buscas un lienzo, haz clic y arrástralo aquí. Y ahora tienes este
lienzo aquí en el lienzo. Ahora puede hacer clic
y arrastrar la imagen. Puede hacer clic y arrastrar
el texto aquí. O puedes hacer clic y
arrastrarlo aquí abajo en el
lienzo también. Eso también
lo agregará y
siempre podrás hacer click sobre él
y moverlo. Puedes hacer clic en él y
redimensionarlo como desees. Puedes intentar practicar
dentro de aquí. Siempre es agradable
, por ejemplo, si no has visto antes la parte del
progreso, también
puedes arrastrarla. Puedes redimensionarlo si quieres,
puedes hacer click en él aquí
en el panel de detalles Aquí es donde ves detalles sobre los elementos en los
que estás dando clic. Entonces por ejemplo, si hago clic
en la barra de progreso, puedo ver elementos como
la posición en la X e Y. Y puedes hacer clic y arrastrar
el mouse para ajustarla. O puedes escribir un
número, por ejemplo, 1,000 Puedes ajustar el
tamaño en la X e Y. También
puedes jugar
con el porcentaje, porque recuerda que esta
es una barra de progreso. Puedes dar click y rike aquí
o establecer un número, por ejemplo, 0.2 Tú también aquí en el
estilo puedes estilizarlo este momento no tenemos mucho, no
puedes agregarle nada,
pero puedes agregar tu
propia imagen de fondo, tu propia imagen de relleno, y así sucesivamente. Lo mismo con el texto,
si haces clic en el texto, puedes editar el tipo de fuente. Puedes editar el
tamaño del texto, y puedes editar incluso el color. Puedes darle un
esquema aquí abajo, o puedes escribir
seis, por ejemplo. Y ahora le da un bosquejo. Puedes intentar diseñar o simplemente jugar
con todo esto. Se puede ver que tiene
un par de elementos. Por ejemplo, cuadro de texto editable. Este es un cuadro de texto
y se le puede dar, por ejemplo,
valor por defecto por ejemplo. Y se puede ver ahora algo está escrito dentro de este cuadro de texto. Ya ves, puedes intentar
jugar con todo esto. Así es como trabajas
dentro de un widget, blueprint. Y puedes acercar el zoom. Y aquí afuera, aquí arriba
a la izquierda, se
puede ver cuánto
se alejó, cuánto hizo zoom también Uno a uno es lo que
parece ahora mismo. Aquí en la gráfica,
tenemos dos secciones. Tenemos el diseñador
donde diseñas la interfaz de usuario. También tienes la gráfica
donde programas la interfaz de usuario. Por ejemplo, programas. ¿Qué hace esta parte de progreso? Por ejemplo, en este juego de
contraataque que creamos, se utiliza
la barra de progreso para
establecer la salud del jugador. La salud cae cuando
te dañas. Esto se hace en la
gráfica donde se
codifica la barra de progreso. Aquí es principalmente donde diseñas. Bien, trata de jugar por aquí. Y esto es para
animaciones aquí abajo. Vamos a
meternos en ello más tarde. Por ahora, sólo voy
a hacer click derecho y ocultar esta pestaña o simplemente cerrarla. En realidad cerrar pestaña. No está en nuestro camino por ahora. Sí, solo juega por aquí. Sólo voy a
cerrarlo por ahora. Y voy a borrarlo. Y pasemos
a la siguiente lección.
11. 2.02 Importación de una fuente personalizada: Antes de continuar,
quiero que descargues un fondo personalizado porque no
tenemos fondos dentro de aquí y
me gusta usar los personalizados. El que estoy usando, ya
tengo uno de crear el, algo así como, curso
de huelga. Ya descargué
el fondo rubic, pero ahora voy a
mostrarte cómo puedes hacerlo Si buscas fondos de Google, normalmente
me gusta usar eso, también
puedes buscar aquí. También puedes encontrar fondos
realmente geniales. Hay muchos de ellos, así que
puedes intentar mirar por aquí y solo voy a
usar un Fondo de Google. Creo que tienen fondos
realmente geniales que puedes usar dentro de aquí. Lo que estoy usando es Rubic. Si quieres usar el mismo, puedes buscar Rubic Puedes usar este Rubic uno aquí y puedes volver a
hacer clic en él. Puedes encontrar cualquier fondo que quieras. Sólo tienes que seguir adelante y tratar de encontrar
cualquier fondo aquí en los fondos. Puedes mirar a tu alrededor y
echarle un vistazo a todos ellos. Pero para el Rubic, puedes dar click en
uno de los fondos Incluso puedes probarlo. Por ejemplo, si tienes
razón, menú principal aquí abajo, puedes reducir el tamaño. Basta con echar un vistazo a
cómo se verá y visualízalo.
Si te gusta, adelante y da clic en
Descargar Familia aquí
arriba y también
abre esta estática. Ahora tengo todos estos
archivos, esta fuente estática. Puedes seguir adelante y usar
lo que quieras aquí. Normalmente no me gustan
las fuentes ligeras porque se ven demasiado diminutas dentro de Unreal Engine y casi
no las puedes ver en el juego Normalmente me gusta pasar
de tal vez medio, ni siquiera regular, de medio. Y luego me llevo el semibold, tal vez el extra audaz, negrita y negro,
Los que usaría Tienes que extraerlos
primero en tu escritorio, porque se trata de un archivo. Haga clic y arrástrelos
a un escritorio o a su carpeta de descargas,
lo que desee. Por ejemplo, así
en la carpeta Descargas. Siempre que hagas esto, ve a
la carpeta Descargas aquí. Ahora puedes usarlos,
tomarlos todos y abrir el motor
dentro de aquí. Déjame minimizar este
motor en el motor. Si puedes hacer una carpeta llamada fondos dentro de la
carpeta UI, haz clic derecho. Hacer una nueva carpeta llamada
Fondos dentro de los fondos. Haga clic y arrástrelos aquí. Cada vez que
los arrastras hasta aquí, te
va a preguntar, ¿quieres que
cree fondos para ti? Sólo tienes que seguir adelante y presionar
sí. Cuando hagas eso, todos estos
aparecerán para ti. Entonces, cuando tienes fondos personalizados, ahora
podemos usarlos
dentro de la interfaz de usuario en lugar del
aburrido fondo predeterminado. Y ahora pasemos a
la siguiente lección y
diseñemos el menú principal.
12. 2.03 Diseño del menú principal: Bien, ahora estamos listos
para diseñar el menú principal. Y antes de hacer esto, he incluido algunos
materiales del curso para usted. Te he dado algunos diseños de UI. Puedes seguir adelante e ir
a la carpeta UI aquí. Te he dado botones,
íconos e imágenes. Si haces clic en
tu carpeta dentro de aquí justo antes
del menú principal, no entres dentro de la carpeta del menú
principal aquí, puedes hacer una carpeta
llamada botones. De nuevo, puedes hacer click derecho, hacer una nueva carpeta llamada
botones y también imágenes. Por ahora no vamos a usar íconos por ahora solo botones, imágenes y hacer que esas carpetas
entren en la carpeta de botones. Ahora adelante y entra en
esta carpeta de botones. Ahora, ya lo he importado, esto es de mi curso. Pero lo que puedes hacer,
seleccionar el primero, mantener presionado Shift, seleccionar el último. Entonces seleccionas todos ellos, y luego puedes hacer clic
y arrastrarlos a aquí, y esto los importará. Ahora, muy importante, si lo
tienes en un archivo Sip, tienes que extraerlos primero, nuevamente a tus descargas
o escritorio por ejemplo. Y entonces puedes
arrastrarlos hasta aquí. Nunca lo hagas dentro
de una carpeta Sip, porque te dará este ícono aquí y no
puedes hacerlo. Recuerda
extraerlos primero y luego arrastrarlos hasta aquí. Haz lo mismo con
las imágenes, recoge todo y
arrástralas a la carpeta de imágenes. Y ya lo hice,
así que tengo todo esto. Sigamos adelante y diseñemos. Vamos a la carpeta del menú
principal. Hagamos clic derecho, vaya
a Interfaz de usuario y cree un
plano de widget aquí Vamos a llamarlo Menú Principal. Vamos al menú
principal Widgets. Ahora, dentro de aquí,
antes de hacer nada, siempre
empezamos con
un panel de lona. Cuando diseñamos un menú
en Unreal Engine, seguimos adelante y arrastramos esto aquí
abajo a la jerarquía, y agregarás un panel de lienzo Bien, así que antes de empezar aquí en el tamaño de la pantalla
muy importante. Haga clic aquí, vaya a computadoras portátiles y concéntrela en una, a
una computadora portátil genérica. Esto es importante
porque ahora hemos configurado esta interfaz de usuario para que sea
diseñada para un portátil. Y al hacerlo, nos aseguramos de que la interfaz de usuario no sea demasiado pequeña ni demasiado
grande para la computadora portátil. Y podemos escalarlo en
consecuencia en monitores grandes. Ahora estoy usando un monitor de cuatro K. Va a quedar bien una vez
que lo diseñe para un portátil. Y luego lo
escalo hasta mi monitor. La forma en que lo escalamos es
si haces clic aquí abajo en este pequeño botón,
y luego dentro de aquí puedes ver esta es
la escala de la interfaz de usuario. En este momento tengo
un monitor de cuatro K. Entonces, si sostengo el mouse sobre
él, dice que está escalando mi UI 1.6 veces.
Podrías ser más. Porque en realidad, por aquí, si haces clic en
éste a la derecha, tuyo probablemente
dirá ocho por defecto. Entonces se puede ver si son ocho. Si hago clic en estos dos para
ajustarlos a la pantalla, son ocho. Lo va a escalar aproximadamente 3.8 veces de cómo lo diseño. No obstante, cuando jugaba con él, cuando hice mi juego, creo que 3.8 veces fue demasiado. Escaló mi interfaz de usuario y era muy grande en la pantalla de mi monitor de cuatro
K, era demasiado. Me gustaría
ponerla en 2.5 en la báscula. Entonces.
Sigamos a partir de aquí. Ahora puedo ver que
escala 1.6 veces. Cerremos esto ahora. Y ahora está escalando correctamente. Para diseñar el menú principal, lo que quiero que hagas es quiero que crees
algo como esto. Si abro, me
gustaría mostrarles lo que estamos tratando de hacer para
que quede claro. Estamos tratando de hacer esto
con tres botones en el medio y el nombre aquí arriba. Empecemos con éste. Se puede ver que los botones
están alineados verticalmente. Necesitamos algo
llamado caja vertical. Busca una caja vertical, y aquí está. Arrastre aquí. Y aquí está. Lo agregas aquí, vamos a
arrastrarlo a la vista. Y acabo de hacer mi UI larga, para que puedan ver lo que estoy haciendo
aquí para la caja vertical. Arrástralo para
alinearlo ahora al centro. Hay que cambiar el punto de anclaje a la
mitad de la pantalla. Entonces si escribes 00 en la
posición y y x e y, podrás ver que se
alinea a la esquina superior izquierda Esto se debe a que hay que
jugar ahora con la alineación. Puedes ver si haces clic
y arrastras tu mouse, esto es 0.5 Si se
alinea en el medio en la x y uno si
se alinea al lado derecho, lo
queremos al centro es
0.5 Lo mismo con la y. si lo quieres en el
centro es 0.5 va 0-1 y es 0.5 Si lo
quieres en el medio, 0.5 por 0.5 y la
posición en la x e
y es 0.0 Ahora
está en Ahora cuando quieras agregar
un botón con texto en él, tienes que agregar una superposición. Una superposición es donde
puedes superponer el
texto en el botón. Si buscas un botón, sigue
adelante y arrástralo
a la superposición, y luego puedes
buscar texto. Entonces también puedes arrastrar
éste encima de la superposición. Ahora has superpuesto
el texto en el botón. Lo tienes en orden inverso. Siempre puedes hacer clic y
arrastrarlo uno encima del otro. Y ahora se puede ver que el
texto está detrás del botón. Puedes hacer click en el
botón y ponerlo arriba. Ahora para el botón, quiero que llene
todo el espacio aquí. Quiero que se llene horizontal, así
como verticalmente. Ahora está llenando toda
la superposición. Digamos si quieres que
llene todo el asunto. Se puede ver que esta es
la caja vertical. Este es el tamaño de la misma y esta es la superposición que
quieres que llene. Toda la caja vertical. Puede hacer clic en la
superposición y hacer clic en Rellenar. Por aquí, el botón
llenará todo el asunto. Ahora, hagamos eso
por ahora para el botón. Quiero darle click
y alinearlo en el medio del botón
horizontal y verticalmente. Ahora el botón es demasiado grande
para la caja vertical. Voy a hacer click en él
y solo redimensionarlo por
ahora para que sea algo así Bien, vamos a
diseñar primero el botón. Al hacer clic en el botón, puedo ir al estilo
dentro de aquí. Puedo cambiar el estilo normal
del mismo aquí por las imágenes, recuerda, importamos
muchos botones e imágenes. Ahora para los botones,
puedes lamer aquí y encontrar el botón y ver cuál
quieres usar. Puedes ir a tu
carpeta aquí abajo, ver cuál quieres usar, y luego puedes hacer clic
y arrastrarla a aquí. Esto es justo lo que
voy a hacer por ahora. Quiero usar este
botón cuadrado azul, voy a dar click y
arrastrarlo hacia aquí. Ahora se ve un poco raro. Esto es porque si
realmente haces doble clic en
el cuadrado aquí, esto es lo que
diseñé en Photoshop. Es un botón muy pequeño. Podría preguntarse, ¿cómo
va a ser esto un botón grande aquí? Esto se debe a que
el motor es realmente inteligente. Va a tomar las esquinas, entonces va a hacer que las partes medias aquí sean cada
vez más largas. De hecho puedes
convertirlo en un botón. La forma en que haces
esto es dentro de, en los cajones,
tienes que cambiarlo de caja redondeada a caja en su lugar. Entonces el margen es 0.5
que es el máximo aquí. Cuando haces esto, puedes ver
que toma las esquinas solamente, y luego alarga
el medio Entonces parece un botón largo. Ahora para el color, está un poco apagado porque
el tinte es gris. Si haces clic en él y
haces que el tinte
sea blanco así, no tiene ningún tinte. Da clic bien, aquí
tienes el botón ahora para
que sea un poco más grande. Nuevamente, recuerde ya que clic en la superposición
y haga clic en Rellenar, puede hacer clic en el cuadro
vertical y
puede cambiar el tamaño del
botón como desee Así,
en realidad continuemos aquí. Si haces clic en el botón, tienes que hacer el
estado presionado y el estado flotado también, pero para que te sea más fácil,
puedes hacer clic derecho y
copiar el normal Puede hacer clic derecho y
pegarlo en la parte superior del acaparamiento. Lo que puedes hacer
también un atajo. Si mantienes turno,
también puedes ver el atajo. Si haces clic derecho
aquí, dice copiar, mantener pulsada la tecla Mayús y presionar
el botón derecho del ratón. Desplazar el ratón derecho, y luego
cambiar a la izquierda, ratón izquierdo. Así es como lo pegas. Ahora para el tesoro
y el prensado, quiero cambiar el
imaged, el pulsado Ahora tienes un
estado normal, un estado de hover y un estado presionado.
Bien, eso fue todo. Vamos a compilar y
guardar todo ahora veamos si
necesitamos hacer algo. Al hacer clic en el texto. Ahora cambiemos el texto. Descargamos este rubic
one para el texto, voy a
cambiarlo para frotar semi negrita, tal vez por el tamaño Creo que 24 es demasiado grande. Déjame cambiarlo a
algo así como 18. Déjeme darle un bosquejo. Si hago clic en la configuración de Contorno aquí en la configuración del
contorno frontal, voy a establecer
el contorno en dos. Ahora para el color, voy a dar click, déjame ver el color del contorno está aquí abajo. Entonces haciendo clic en el
Color acercar, voy a tomar
este picker de color y voy a escoger el color
más oscuro en el botón, tiene como este Te voy a mostrar cómo
puedes darle un efecto genial al contorno. Y eso se puede hacer añadiendo
también sombras. Voy a copiar este color. Mayús clic derecho
y luego un desplazamiento la izquierda Haga clic aquí para
pegarlo en el color de sombra. Para el color de sombra,
voy a escribir cero sombra de set en la x y
voy a escribir dos en la y le da como
este fondo de sondeo y parece que el texto se
ha levantado del botón, lo que en mi opinión se ve genial. Ahora necesitamos empujarlo un poco hacia arriba porque
parece que no está en el medio en
el botón Pulsar aquí, subiendo en el relleno. Relleno, por cierto,
es donde se puede empujar
el texto hacia la izquierda y hacia la
derecha, hacia arriba y hacia abajo. Ahora voy a
empujarla desde abajo o poniéndola a
cuatro, algo así. Creo que ahora se ve
como en el medio. A veces me gusta
desactivar las líneas discontinuas, para que podamos ver cómo se ve haciendo clic en las líneas
discontinuas de aquí arriba. A mí me gusta verlo.
Sin ninguna línea de guiones, se
puede ver cómo se ve. Creo que esto se ve genial. Lo que podemos hacer es que
podemos dar click sobre este texto. Podemos simplemente llamarlo Create Sera. Este es el primer
botón que vamos a crear. Es Crear Sera. Lo que podemos hacer es hacer
clic en esta superposición. Podemos hacer clic en el control
D para duplicar control D nuevamente para duplicar otro.
Hagámoslo más grande. Vamos a hacer clic en la
caja vertical, hacerla más grande. Necesito darle algo de
espacio entre los botones. Hagámoslo. Vamos a hacer clic
en el Control de retención de superposición. Y haz clic en todas
las superposiciones aquí. Así que los tenemos seleccionados a todos. Podemos hacer las ediciones a la vez. No tenemos que
hacerlo una y otra vez. Aquí de nuevo, el espaciado
está en el relleno, Justo lo que hicimos con
el texto de aquí. Vamos a darle a la cima. Vamos a darle seis en el
acolchado hasta el fondo. Vamos a darle seis en
el acolchado también. Hay un poco de
espacio dentro de aquí. Ahora vamos a hacer este
tamaño un poco mejor. click en el cuadro vertical, voy a recrearlo a
algo como esto. Lo que sea que desees, trata de hacerlo
a tu gusto. En realidad no hay una regla aquí. Y luego haga clic en
el cuadro vertical, y luego podrá recitar
esta dirección también Creo que algo
como esto es genial, que lo que podemos hacer ahora es hacer
clic en el cuadro vertical. Nuevamente, las posiciones x e
y necesitan ser cero, para que esté centrada
así. Ahora cambiemos el
color de estos botones Para hacer esto primero vamos a
cambiar
en realidad solo el texto para
decir servidor conjunto, el último en decir salir. Ahora puedes por supuesto,
tenerlo en el mismo color, pero yo sólo voy a mostrarte cómo cambiar los colores también. Voy a minimizar esto un poco aquí En los botones otra vez, voy a seleccionar el morado. Ahora, dando click en este botón de servidor
conjunto, dando click en la normal,
me meto aquí. Y ahora has cambiado de color. Recuerda hacer eso también
en el florecido y pulsado, así que voy a mantener pulsada la
tecla shift click derecho, luego shift left click sobre estas Recuerde seleccionar
el estado rontado y el estado presionado Para el último, voy
a usar el botón rojo, copiarlo y pegarlo en los otros, cambiarlo al hoverd
y al estado presionado Ahora tenemos esto.
Cambiemos también el esquema. Haga clic en aquí, haga clic
en el Color de contorno, clic en Selecto de color y
seleccione el color más oscuro Voy a hacer click
back, hold shift, click
derecho, hold shift, click
izquierdo para pegarlo. Y haciendo
lo mismo aquí abajo, da clic aquí, color,
selecciona el color oscuro. Y luego voy a
desplazar click derecho, shift click izquierdo para pegarlo. Lo último que tenemos que
hacer es agregar el nombre aquí arriba, porque quería dar la
bienvenida y luego su nombre. Hagámoslo ahora. Para hacerlo aquí arriba, realmente
no necesitamos
agregarlo dentro de
la caja vertical. Es un elemento por sí mismo. Aquí arriba quiero
superponer una imagen o un texto
sobre un fondo, un texto encima de una imagen. Primero necesitamos una superposición. Puede arrastrarlo al panel
del lienzo. Veamos dónde está. Está aquí
arriba. Por lo general, aquí arriba. Cuando lo agreguemos, agreguemos
una imagen a la superposición. Y luego agreguemos algo de texto. En realidad, en vez de
añadir un texto de aquí, sólo
puedo copiar uno de ellos para que no
tengamos que volver a
diseñarlo. Voy a pegarlo
encima de la superposición. Ahora para la imagen, quería llenar todo
el asunto. Rellenarlo horizontal y
verticalmente a esta superposición. Vamos a hacer clic en esta superposición. Cambiemos el punto de anclaje
para que esté a la mitad superior. Nuevamente, si escribes
00 en la x e y, puedes ver que va
a esta esquina. Entonces hay que volver a jugar con
la alineación. Y aquí es 0.5. Y vamos a hacer clic
ahora en la imagen. Cambiemos el pincel de
la imagen, la imagen misma. Ahora voy a ir a Imágenes. Y voy a, permítanme
importar este panel, haga clic en
gris y vuelva a arrastrarlo hacia
aquí, igual que antes. Cambiémoslo a una caja. Cambiemos el margen a 0.5 Ahora vamos a dar click sobre el texto. Para el texto,
voy a dar click aquí. Toma el color, elige,
selecciona este color. Déjame simplemente dar click
en el color y hacerlo da, algo como esto. Jugando un poco con él, creo que voy a usar
este color aquí. Puedes copiarlo si lo deseas. Voy a copiar esto aquí
abajo al color de la
sombra también. Y luego ahora alejemos el zoom. Déjame
darle algo de espacio desde el panel del lienzo
porque puedes ver que está en la parte superior del borde aquí. Doy click en la
superposición y le di espacio aquí en la
Y, solo algo de espacio. Creo que voy a escribir algo
así como 40 en el borde aquí. Al hacer clic en la superposición,
puede, nuevamente, redimensionarla a lo que
desee así como al texto Creo que es demasiado en la parte superior porque recuerda
para los botones, agregamos un relleno. Haga clic en él. Voy a decir
algo así como dos. Podría haber un dólar
porque puedes ver si realmente
escribo un nombre largo, puedes ver que escribe así.
De hecho, vamos a arreglarlo. click en el
texto, voy a centrarlo al medio
en la justificación. También dando click en esta imagen, o en realidad en el Ovallay Voy a hacer clic
en Tamaño al contenido. Resulta que se ve así. En lugar de darles un
tamaño aquí en el tamaño de la imagen, lo que podemos hacer, ya que lo estamos
dimensionando al contenido, podemos dar click sobre el texto
aquí en el relleno. Si le das palmaditas a la izquierda lo suficiente, puedes
darle algo de espacio. Si le das palmaditas, por
ejemplo, algo como y algo así como
50 a la derecha también, puedes darle algo de espacio
a la izquierda y a la derecha. Lo mismo para la parte superior y lo mismo para
el fondo también. Incluso si escribes un
texto largo o encajas un poco más, puedes ver que cambia de tamaño
a lo que sea el texto No conseguimos que se baje
por la izquierda y la derecha. En realidad voy a escribir 40 en su lugar, creo que es demasiado. Con 50 para este, voy a escribir 22 a la parte superior y 21 a la parte inferior aquí. Creo que esto se ve genial. Así es como se ve
y lo que podría decir. Por ejemplo, hola en. Ahora vamos a programar esto
porque este nombre aquí en, por
ejemplo, este
va a mostrar, dependiendo de cuál sea el
nombre en Steam. Para éste sólo
voy a saludar, Steam. Y podemos cambiarlo después
y ver qué dice. Salgamos a compilar, y guardemos todo. Y ahora hemos
terminado con la interfaz de usuario. Casi lo último que quiero
decirte es si haces
clic en el texto aquí, y si bajas a
Visibilidad en lo que
es ahora mismo si intentas
hacer clic en el botón aquí, el texto va a bloquear tu mouse y no
puedes hacer clic en el botón. No quiero eso.
Seleccionemos este texto. Control de retención. Da clic también en
los otros textos, todos ellos para la visibilidad. Cámbialo para que no golpee Comprobable. Lo que esto significa es que el ratón
va a ignorar el texto. Y en realidad puedes colocar el botón en
la parte superior de este texto, y también hacer clic en el botón
en la parte superior de este texto Esto es lo que queremos. Bien, esto fue todo. Adelante, compilar
y guardar todo. Y ahora vamos a
cerrarlo y seguir adelante.
13. 2.04 Animación de la interfaz de usuario de nombre del jugador: Ahora sigamos adelante y
trabajemos con animación. Si abres la, me
hiciste una nueva, una vez más dentro de aquí, lo que quiero hacer es que quiero
animar esta parte de nombre Donde quiero que esta interfaz
de usuario flote lentamente hacia abajo
y hacia arriba es la superposición
que necesitamos animar Donde podemos ver
aquí en la posición Y. Yo quería hacer
algo como esto aquí, y necesitamos animarlo Voy a ponerlo de nuevo
a 40 aquí en la y. Vamos a abrir la pestaña de animación. Y puedes hacerlo aquí abajo. Si haces clic en él,
voy a dar click en Layout, para que pueda verlo
todo el tiempo aquí. Voy a hacer click en el
Plus para la animación. Vamos a llamarlo Nombre del Jugador. Vamos a darle un click sobre él. Ahora
tienes que hacer clic en el Overlay. Déjame cambiarle el nombre
para que lo veas. Voy a
renombrarlo V por Overlay, y llamarlo Player Name. Y adelante y compile
Ahora para esto aquí, da clic en el Overlay. Para el nombre del jugador,
haz clic en la pista aquí, y luego podrás verla siempre que hayas seleccionado aquí, haz clic en ella, haz clic en el
más, luego selecciona Transformar. La transformación es básicamente
donde se puede editar el, la posición, la rotación,
la escala, y así sucesivamente. Y queremos editar
la traducción, la posición de
la misma
en la x e y, bien, Aquí en la gráfica, Digámoslo, estos son segundos. Si lo pongo, por ejemplo, 1.5 segundos aquí, puedo
jugar con esto aquí, tal vez arrastrarlo hacia abajo. Creo que 15 es suficiente. Se puede ver ahora en
cero es así. Si lo arrastras a 1.5 segundos,
será aquí abajo. Quiero que vuelva a subir. Después de 1.5 segundos otra vez, quiero que vuelva a ser cero. Ahora si hago clic en Vista Espacial, la animación, aquí está. Si vuelvo a hacer clic en Espacio,
puedes volver a verlo. Sólo vamos
a hacerlo loop. Solo necesitas un fotograma como este y solo vamos a
hacerlo loop para siempre. ¿Bien? Si querías no
tener una animación suave, siempre
puedes venir aquí, seleccionar todo clic derecho, y hacerlo lineal. Cuando haces esto, no
suaviza los puntos aquí afuera. Se mueve de
manera lineal así. Ya ves que no
se suaviza cuando sube y baja. Si quieres ser suave, haz clic
derecho y
selecciona auto cúbico y suavizará un bien. Voy a ir con esto y en realidad
estamos acabados. Si voy a la gráfica, ahora aquí está la codificación. Eliminemos este
y eliminemos éste. Borremos todo lo que
pueda mostrarte cómo hacerlo. Si haces clic derecho
aquí en la gráfica y buscas constructo. La construcción de eventos es simplemente lo que debería suceder cuando hago
clic en Reproducir aquí. Cuando hago esto,
este es un evento en blueprint y necesitas
eventos para ejecutar código Juguemos la animación. Puedes ver la animación aquí. Nombre del jugador que creamos un clic y arrástrelo aquí. Ahora arrastre de aquí
y juegue a la derecha. Y se puede ver esta
función llamada lay animation select
conectado aquí. Ahora la cantidad de bucles, voy a ponerla a cero
y esto quiere decir que va bucle infinito cantidad de
veces q y compilar. En lugar de hacer clic en Jugar
como un juego independiente, en realidad
voy a seleccionar Nueva ventana del editor de vista porque es mucho
más rápido de abrir aquí. Por supuesto, todavía
no podemos ver la interfaz de usuario, pero la animación está funcionando. Te puedo decir que, sin embargo, todavía no
puedes verlo porque no
hemos agregado la UI, el menú principal a la pantalla,
por qué no podemos verlo. Y esto es en lo que
vamos a trabajar en el próximo
par de lecciones. Sigamos
adelante y hagamos esto.
14. 2.05 Crea la enumeración: Para empezar, lo que
quiero que hagas es crear algo que se
llame una enumeración. Podemos usarlo más adelante para programar cómo mostramos o mostramos
la interfaz de usuario a la Viewpoard Vamos a los planos
dentro de aquí. Quiero que hagas click derecho, hagas una nueva carpeta llamada Enums Ya tengo uno
de programar el curso dentro
de esta carpeta. No le pongas atención
a todo esto. Realmente no
lo necesitamos para este curso. Hagamos clic derecho para hacer una nueva enumeración de planos.
Adelante y selecciona uno. Vamos a llamarlo, voy a llamarlo algo así
como widgets del menú principal. Qué es una enumeración. Si lo abres,
básicamente es solo una lista de elementos que puedes agregar a la
lista haciendo clic aquí arriba. Y puedes agregar
lo que quieras. Si hago clic un par de
veces y agrego elementos, por ejemplo, puede ser
una lista de cualquier cosa. Las enumeraciones son solo listas. Puede ser una lista de abarrotes, lista de tipos de puntos
en tu juego, lista de tipos de armas En este caso, para lo que lo estamos
usando es una lista de qué widgets
tienes en tu
menú principal. Por ejemplo, el propio menú principal. Y luego tengo el menú
Crear Sera. Y luego tengo
el navegador Serva donde puedo ver los servidores. Realmente no
creo que tengamos más, pero si tienes un juego más grande, tienes el menú de configuración, tienes el dinero. Entonces, si tienes como
micro transacciones, money shop, y así sucesivamente. Pero en realidad no
tenemos eso por ahora. Yo solo tengo el menú principal, Crear servidor y navegador Serva. Vamos a guardar esta lista aquí. Ahora ya está listo. También se pueden ver los otros de mi juego. Por ejemplo, el
tipo de arma tengo tipos pistola y rifle
desarmados Nuevamente, puede ser una lista de
cualquier cosa que se te ocurra. La enumeración es básicamente
solo una lista de estados de movimiento. Por ejemplo, aquí
tengo una lista de mis estados de movimiento en el juego. Puedo correr, caminar y
agacharme, y así sucesivamente. Y en este caso, lo que
estamos tratando de hacer aquí es también mi juego de juego, widgets. Dentro de mi juego,
tengo la interfaz de usuario principal, la IU de selección de equipo, mi Cruz. En nuestro caso,
lo estamos utilizando para el menú principal. Tenemos el
menú principal, Crear servidor, y el navegador del servidor. Ahora que tenemos eso listo, estamos listos para usarlo
en las próximas lecciones.
15. 2.06 Función de mostrar y ocultar el widget: Bien, entonces este va
a ser un poco más complejo, pero voy a
mostrarte el mejor método para mostrar y ocultar la interfaz
de usuario dentro del motor vulnerable, para que puedas usarlo en
todo tu proyecto. De nuevo, va a ser
un poco más complejo comprender si
eres totalmente Pero solo presta atención. Intenta ver aquí y estoy
seguro que puedes aprenderlo también. Vamos a los planos. Ahora vamos a la carpeta del
menú principal dentro de aquí. Recuerda que hicimos el modo, hicimos el
controlador de reproducción antes, y generalmente para la interfaz de usuario
creamos dentro del controlador
del jugador. Por eso lo creamos. Vamos a abrir el controlador
del reproductor. Y dentro de aquí,
abramos el editor de planos completo
en el controlador del reproductor Simplemente eliminemos todo en la gráfica y dentro
del gráfico de eventos. Empecemos ahora. Lo que quiero que hagas es que
escribas, hagas clic y hagas un nuevo evento personalizado llamado éste,
Mostrar, ocultar widgets. Este evento va a
mostrar y ocultar nuestro widget. Ahora necesitamos el widget
aquí en la entrada, voy a agregar una variable, y esta es la enumeración
que creamos antes Ahora como lo llamé
en la carpeta enums, lo
llamé widgets del menú principal Aquí en el tipo de variable, puedes buscar widgets del menú
principal, como
lo llamaras,
ir a y seleccionarlo. Sólo voy a
llamarlo widget. Básicamente lo que me gustaría mostrarte qué función
básicamente queremos usar. Es mejor entender
desde el principio. Hagamos clic derecho aquí y busquemos algo
llamado create. Widget es la función
que vamos a utilizar. Si haces clic aquí y
seleccionas, por ejemplo, el widget del menú principal que creamos. Estamos tratando de crear este widget de menú principal y
agregarlo a la pantalla. Esto es simplemente lo
que estamos tratando de hacer ahora. Lo estamos haciendo de una manera
inteligente que se puede escalar
dinámicamente a toda
la interfaz de usuario futura que cree Esta es una
función muy inteligente aquí abajo, queremos mostrar y ocultar widget. Agreguemos otra variable. Agreguemos un lingote, que es solo la variable que
es verdadera o falsa Aquí, llamémoslo show. Si se llama a este evento, si sólo con razón puedo
decir, mostrar ocultar widget. Y aquí lo llamo a este evento. Aquí puedes ver cómo se
ve cuando lo uso
en otro lugar. Ahora puedo comprobar qué
widget quiero usar,
por ejemplo, el Crear Serva. Entonces puedo elegir si
quiero mostrarlo. Si no lo hago, quiero cerrarlo. Es por ello que se llama
show hide widget. Lo muestro si marco aquí, y lo escondo si
no marco aquí. Ahora podemos elegir
cuál queremos efectuar. Por ejemplo, ¿quieres
mostrar el menú principal? ¿O quieres
cerrar el menú principal? Así es como lo usamos aquí arriba. Rompamos de aquí
y hagamos una rama. Si ho es cierto, queremos hacer algo. Si cómo es falso, queremos hacer otra cosa. Quiero aquí crear
dos funciones. Vamos a hacer clic en el más
para esta función. Estas son las funciones personalizadas
que vamos a crear. Se
va a llamar al primero, me gusta escribir como
prefijo para mis funciones. Llamemos a este widget. Hagamos otro
llamado hide widget. Volvamos al gráfico
de eventos, y vamos a arrastrarlos a aquí. Mostrar widget y ocultar widget. Ahora, ¿qué widgit
vamos a mostrar? Este que enchufamos más tarde
Cuando llamamos a la función. Sin embargo, necesitamos
tener una entrada aquí, para que podamos decirle que es
este widget aquí. Vamos a hacer clic en el widget de
show uno. Vamos a agregar una entrada. Cambiemos esta otra vez
al widget del menú principal. Esta es la enumeración. Vamos a seleccionarlo y
llamarlo widget. El mismo para
el widget hide. ¿Qué widget
quieres ocultar? Es éste. Voy a hacer clic aquí, hacer una entrada, y
luego llamarlo widget. Ahora podemos hacer clic y arrastrar esto a esas
entradas que creamos. Ahora va a
entrar aquí y podemos hacer
algo con él. Este es básicamente el flujo. El flujo está en algún lugar del código que podemos mostrar
u ocultar el widget. Digamos por
ejemplo, más adelante
queremos que oculte el menú principal. Podemos escribir, hacer clic y
decir mostrar ocultar widget. Puedes llamar a este evento aquí arriba. Entonces podemos decir para el menú
principal, quiero hola. Así es como se ve, porque no he marcado esto Lo que va a hacer
va a decir que esto es falso. Si es falso,
va a ocultar el widget. ¿De qué widget
estamos hablando? Estamos hablando
del menú principal. Porque esto es
lo que le dijiste, el menú principal va
a pasar por aquí. Va a pasar por aquí, dentro de esta función. Y ahora podemos hacer algo de código
aquí para el widget show. Quiero romper de aquí y
decir encender enumeración. Qué interruptor en la enumeración es que puedes hacer
algo
dependiendo de qué selección hiciste
dentro de esta enumeración Por ejemplo, si seleccionas
el menú principal por aquí, está en el widget show. Reproduce el código para el menú principal, y va a ignorarlos a
todos aquí abajo. Digamos para el menú principal, marqué aquí la verdad Esto significa que quiero
mostrar el menú principal. Necesitamos de nuevo, para
usar este widget. Esto es lo que estamos
tratando de usar. Vamos a borrarlo aquí arriba.
Vamos al widget show. Y aquí para el menú principal, puedo arrastrar y decir crear
widget. Vamos a seleccionarlo. ¿Qué widget
quiero crear? El menú principal que creamos, entonces solo puedo hacer clic derecho y promoverlo a una variable. Para que pueda guardarlo aquí
y llamarlo Menú principal. Ahora a pesar de que
creamos la variable, todavía no se muestra
en la pantalla. Esto se debe
a que tenemos que arrastrar desde aquí y decir Agregar a Viewport Vamos a
agregarlo a la Viewport, y ahora debería funcionar Si
compilo y hago clic en play, se
puede ver que sigue sin funcionar. Esto es porque en blueprint, si ya sabes
que tenemos que llamar a este evento, no
va a correr solo El motor no sabe que
quieres correr este evento. Lo que vamos a hacer es en
el evento o incluso construir. Ahora estamos en el mando de
juego. Es jugar el evento. Este es un evento que
dice lo que debería pasar. Cuando empiece a jugar el juego, quiero mostrar el dragón del menú
principal desde aquí llamando al evento show
hide widget aquí. Y voy a
seleccionar Menú principal. Y quiero mostrar
el menú principal. Lo que va a hacer es que
va a pasar por aquí. El widget es menú principal
va a enchufarlo aquí y está configurado
para mostrar es cierto. Se va a mostrar el widget, la selección aquí
era menú principal. Va a crear todo esto y agregarlo
a la ventana gráfica Ahora si haces clic en reproducir, ahora puedes ver que se
agrega a la ventana gráfica También puedes ver que
la animación está funcionando para el nombre y
todo se ve bien. Puedes pasar el cursor sobre los botones, puedes hacer click sobre ellos para ver si lo has
hecho correctamente, y todo está bien Esa fue tu primera
interfaz de usuario que agregaste. Y realmente agradable,
has logrado mucho, porque en realidad esta fue
la parte difícil. Ahora la parte final
es ocultar widget. Vamos a entrar aquí de
nuevo, justo a partir de aquí, y digamos que enciendan la enumeración. Siempre que seleccionamos ocultar
aquí en lugar de mostrar, entonces lo que quiero
hacer es en el hide, quiero tomar esta variable
que creé para el menú principal. Voy a
hacer clic derecho y convertir esto en un get validado. Lo que esto hace es que
nos estamos asegurando que esta variable sea válida
antes de hacer algo, antes de eliminarla
de la pantalla. Porque no tiene
sentido eliminar esto de la pantalla
si no es válido. Porque no lo es, tomemos esto y digamos quitar de padre. Así es como
lo eliminamos de la viewport. Siempre que esta variable sea válida, queremos
eliminarla de la pantalla. También queremos hacer
lo mismo en el widget show, lugar de simplemente
crearlo todo el tiempo. Esto será un error,
porque cada vez que voy
al servidor de creación y
vuelvo al menú principal, en realidad
va a volver a
crear el menú principal. Y no quiero
hacer eso todo el tiempo. Voy a tomar esta
variable que he creado por aquí. Voy a escribir click y convertir esto en un get validado. Entonces voy a
conectarlo aquí. Si es válido, no
quiero crearlo. Si no es válido,
quiero crear este widget porque
aún no se ha creado. Si es válido, solo quiero agregarlo
a la ventana gráfica. Esto es mucho mejor que hacer. Estamos comprobando si esto es válido. Si no lo es, siga adelante y
córelo y luego
agréguelo a la ventana gráfica Si ya es válido, solo tiene que seguir adelante y
agregarlo a la ventana gráfica Compilemos y
guardemos todo, y ahora hemos terminado con esta compleja función y evento. Ahora sólo voy a
explicarlo muy, muy rápido. Si seleccionamos, por
ejemplo, crear serva. Seleccionamos show, vamos a
tener selecto Serva aquí. Y va a
decir que el espectáculo es cierto. Entonces va a jugar
esta función aquí arriba. Y ya sabemos que la
selección es puerta Serva. Así que va a reproducir el
código en el crear Serva y vamos a crear
lo mismo más adelante. Puedes crearlo
tú mismo si quieres. Este es en realidad el
mismo método que este. Y recuerda también
agregarlo en el Hyde también, pero
lo vamos a hacer en la lección posterior. Compilemos por ahora, guardemos todo y
sigamos adelante. Ahora vamos a seleccionar de
nuevo Menú principal. Entonces juega, podemos
asegurarnos de que todo esté funcionando. Y pasemos
a la siguiente lección.
16. 2.07 Comunicación de planos - Casting: Bien, ahora sigamos. Vamos a abrir la interfaz de usuario con la que
estuvimos trabajando antes. Y era la
interfaz de usuario del menú principal dentro de aquí.
Vamos a la gráfica. Lo que quiero hacer ahora es que
quiero aquí en el diseñador, cada vez que presiono el botón
para el Create Sera, quiero abrir el widget Create
Sera para hacer esto. Primero, aquí arriba en el
botón, vamos a llamarlo, por ejemplo, botón servidor, sabemos con qué estamos trabajando. Vamos a establecerlo en variable. Si no es variable
aquí en la gráfica, no se
puede ver
y no se puede hacer ningún código con ella.
Si lo configuras variable y
vas a la gráfica, puedes ver, ahora
puedes ver el botón. Puedes hacer clic en el
evento aquí en clicked. ¿Qué debería pasar
al hacer clic en el botón? Esto
es lo que queremos. Queremos mostrar el widget
que aún no hemos creado, pero no es realmente
muy importante por ahora. Volvamos a la gráfica. Ahora quiero mostrar mi widget
create sera. Recuerda ahora mismo
en la última lección, creamos dentro del controlador del reproductor del menú
principal, creamos este widget
show hide. Necesito usar esta función
aquí, este evento aquí. Necesito llamarlo
desde el menú principal. Cuando presiono el botón
crear servidor, quiero mostrar el widget. Ahora estamos dentro de algo que se llama un
plano de comunicación Porque ahora el plano
aquí, el menú principal, se está comunicando con
el controlador del reproductor, dos planos se están
comunicando entre sí Para ello, tenemos que
usar algo llamado Casting el controlador del jugador. Lo que tengo que decir primero
es que necesito escribir click y decir get
player controller. Entonces puedo seleccionar
esta función aquí, luego puedo arrastrar desde aquí. Ahora bien, este es el
controlador de reproducción predeterminado en el motor Naral. Ahora tengo que decirle que
quiero
usar específicamente mi mando de juego personalizado
y esto es lo que cuesta. Dos medios, lanzar dos y luego escribo el nombre
del controlador de reproducción. Menú principal de pc. Este es el que ahora básicamente le
dijimos, obtener el controlador de reproducción predeterminado, entonces quiero usar específicamente mi controlador de reproducción
personalizado. Ahora cuando hagamos casting
aquí desde este pin, puedo usar lo que esté dentro
del controlador de reproducción. Si creo una nueva
variable, por ejemplo, y la llamo hola, digamos que es una
variable de tipo transform y compila. Ahora si voy dentro de aquí
y arrastre y diga hola. Ahora puedo ver esta variable de
transformación. Puedo usar lo que esté dentro
del controlador del reproductor. Permítanme simplemente borrar
esta variable por ahora. Puedo usar este
widget show hide puedo arrastrar desde aquí y decir show hide widget. Y ahora puedo usarlo para mostrar el
servidor create así. Ahora, hay un problema
con este método. El elenco, si ya lo sabes, casting crea tenía
referencias y Unreal Engine Y lo que eso significa es que
Unreal Engine tiene que
cargar todas las referencias duras cuando abre el juego Y es por ello que a veces en los juegos, si es, por ejemplo, creado en el
motor Naral, se tarda, digamos, 10 segundos, 15 segundos en
abrir el menú principal Esto se debe a que
tiene que cargar todas
las referencias duras antes de
que pueda cargar el menú principal. Tratamos de evitar hacer
casting tanto como sea posible. Hay periodos de tiempos
en los que tenemos que usar el casting, pero muchas veces
podemos evitarlo. Y en este caso
podemos evitarlo también. Podemos evitar que fuera algo llamado interfaces de blueprint Sigamos adelante en la
siguiente lección y echemos un vistazo a lo que es una interfaz de
blueprint
17. 2.08 Comunicación con planos - Interfaces: Para evitar el alojamiento y evitar
la referencia oculta,
sigamos adelante y creamos
una interfaz de blueprint Cerremos esto nuevamente en
la carpeta del blueprint, hagamos clic derecho en hacer una nueva carpeta y
llamemos interfaces Ya lo hice aquí una carpeta de
interfaz porque la
usé en mi proyecto Counterstrike y ya hice
un par de ellos. Hagamos click derecho dentro de aquí y vayamos a Blueprint Y creamos una
interfaz de blueprint para este Yo sólo voy a llamarlo,
llamémoslo como sea que estemos
tratando de hacer referencia. Estamos tratando de hacer referencia
al control del jugador porque
queremos usar el, el evento dentro del controlador
del jugador. Déjame llamarlo controlador de menú
principal. Vamos a abrir la interfaz del
blueprint. La función que queremos utilizar. Ahora dentro de una interfaz de
blueprint, realmente no se
puede hacer mucho No puedes mover esta función, no
puedes dirigir desde aquí, no
puedes hacer nada
dentro de aquí. Lo único que
puedes hacer es crear una nueva función para
la nueva función. Digamos que controla la referencia. Esto es básicamente lo
que estás tratando de hacer. Ahora aquí en la salida, sigamos adelante y
creamos una variable. Y el tipo de variable aquí es lo que esté
tratando de hacer referencia. Estoy tratando de hacer referencia
al controlador del reproductor. Voy a buscar PC. Para Controlador de reproductor, lo
llamé Menú principal Control de reproducción. Este menú principal C,
seleccione Referencia de objeto. Adelante, llámela aquí. Vamos a compilar. Y ahora
estamos acabados dentro de aquí. Fácil. Vamos a cerrarlo. Volvamos a los planos. Abra la
carpeta del menú principal y abra el controlador del reproductor del menú principal. Ahora tenemos que añadir la
interfaz que acabamos de crear. Vamos a la configuración de clase. Pasemos a las
interfaces implementadas. Déjame buscar el controlador
del reproductor del menú principal que acabo de crear. Y
adelante y agrégalo. Ahora presta atención
cuando lo agregues, verás una nueva
barra aquí apareciendo. Si lo agrego, puedes ver esta barra
de interfaz apareciendo. Y puedo abrir la función del controlador del
reproductor. Esta es la función
que acabamos de crear. Ahora hay que definir qué es
esta variable
que creaste. Lo que podemos hacer es arrastrar y decir yo mismo. Y sigue adelante y selecciona
esta autorreferencia. Lo que esto significa, variable
de control del jugador que creaste. Hay que definirlo. Porque si mantienes Alt y das
click aquí para desconectarlo. Si no lo
defines, honorable motor te va a dar un error y
te
va a decir, no
sé a qué te refieres con
esta variable de controlador de jugador vacía. La razón por la que
dijimos una autorreferencia porque yo significa
cualquier plano en el
que se encuentre ahora mismo Ahora mismo, recuerda que estamos en el menú principal del controlador del reproductor. Lo que estamos diciendo es que esta variable
del controlador del reproductor es nuestro controlador principal del reproductor. Vamos a compilar ahora. Voy a explicarte todo
por ti al final. Simplemente continuemos.
Lo que podemos hacer ahora es volver
a, vamos a minimizar esto. Ir a la interfaz de usuario, volver
al menú principal. Volvamos a abrir la gráfica. En lugar de lanzar,
eliminemos esto y ahora consigamos el controlador de reproducción, al
igual que antes. Entonces en lugar de decir costó dos, ahora
podemos decir referencia
del controlador de juego. Así es como lo llamamos. Ahora éste. No te
confundas. Esto es del mapa principal del juego de
contraataque. Este es lo que creamos, la interfaz del controlador de menú. También puedes ver que es una función de
interfaz porque dice mensaje al final
y puedes hacer click en él. Y esto también es lo que significa
este icono. Significa que proviene de
una interfaz de blueprint. Y adelante y
conéctalo aquí. Y ahora a partir de esto
en realidad podemos simplemente conectarlo aquí. O si quieres
eliminarlo y volver a hacerlo, puedes arrastrar desde aquí
y decir mostrar ocultar widget, y puedes salir y
seleccionarlo así. Y ahora puedes ver que evitas hacer casting y
evitas ocultar referencias Solo para hacerlo un poco mejor, voy a hacer clic en el control X
para cortar esto desde aquí, y voy a agregarlo
a la construcción del evento. Si empujo esto, mantengo presionado Alt y doy clic aquí para desconectar el control V
para pegar este. Adelante y
conéctalo. Haga clic con el botón derecho aquí, promocione este
controlador de reproducción en una variable y
llámalo controlador de reproducción. Adelante y conéctalo de
nuevo aquí, la animación. Ahora para este controlador de reproducción, lo
hacemos mucho
más limpio simplemente tomando esta variable de controlador de reproducción. A partir de aquí, sólo podemos
decir mostrar ocultar widget. Y podemos usar esta función
en lugar de hacer todo esto todo el tiempo en
cada instancia de aquí abajo. Y solo toma la
variable ahora y
podemos llamar al evento
mucho más limpio. Ahora ya terminamos con esto, voy a explicar todo
el proceso
antes de continuar. Si fue un poco
difícil de entender, sé que la interfaz es un
tema difícil para los principiantes, solo
echemos un vistazo rápido. Lo que hicimos básicamente fue
ir a la carpeta de planos. Hicimos una
carpeta de interfaz y creamos nuestra interfaz de menú principal haciendo clic
derecho en el plano, interfaz de
blueprint dentro
de esta interfaz de blueprint, obtener referencia del controlador del jugador Lo que estamos tratando de
hacer es obtener la referencia de
los controladores del reproductor aquí para el menú principal. Porque el evento que necesitamos
usar está dentro de aquí. Tenemos que hacer referencia a ello. Yo aquí en la interfaz de
blueprint, creé esto para la salida Necesitas crear una variable. Y el tipo de variable es lo que estés
tratando de hacer referencia. Estamos tratando de hacer referencia
a un controlador de jugador. Recuerda seleccionar Menú principal de PC. Esto es lo que llamé
mi Player Controller. Ahora hay que
agregar esta interfaz en el Player Controller. Yo hago clic en él,
vas a Ajustes, agrego mi interfaz. Esta pestaña aparecerá. Esta es la función
que creaste aquí. Dentro de la interfaz. Entras de aquí, y luego tienes que definir
el controlador splat Recuerda, esta variable es
lo que creaste aquí abajo. Hay que
definirlo porque si ahora lo desconecto y
trato de
usarlo, me va a dar un error. Y dirá acceso no. Access non significa que esta variable está vacía y no sé
qué hacer con ella. Esto es básicamente un motor
real
que te dice que tienes que tomar la
autorreferencia porque ahora te lo estamos diciendo esta referencia de
Player Controller es este Player Controller en el
que estamos ahora mismo. Esto es lo que
quiere decir yo cuando hacemos esto. Ahora podemos ir
al menú principal UI. Podemos tener una referencia al controlador del
jugador por Ting, el controlador de reproducción predeterminado. Y luego estamos diciendo que
queremos usar nuestro propio controlador de reproductor,
que es este. Ahora lo tenemos aquí y
promovimos a una variable. Ahora podemos usar la
variable para llamar a este evento aquí en el gráfico de eventos desde
el controlador del reproductor. Y esto es lo
que estamos haciendo aquí. Repasemos en la siguiente lección y programemos el menú principal.
18. 2.09 Programación del menú principal: Muy bien, bienvenido de nuevo. Ahora estamos listos para
programar el menú principal. Siempre que hacemos clic en
el botón Crear Sera, lo que queremos hacer es
que queremos ocultar el menú principal. Esto es correcto, el menú principal. Entonces queremos mostrar la interfaz de usuario
de Create Sera. Voy a arrastrar
esto desde aquí. Mostrar Ocultar Widget una vez más, adelante y conectarlo. Entonces quiero mostrar
el Crear Servidor. Vamos a hacer doble clic sobre
él, así como esto. Y lo que puedes hacer
es
seleccionarlos y presionar Q
en tu teclado. Esto enderezará las cosas. Y ahora nada realmente va a pasar aquí
en el servidor de creación. Porque recuerda dentro
del controlador del reproductor, si haces clic en la función show
widget que hiciste. Todavía no hemos hecho
nada aquí para el servidor create y
show server browser. No obstante, va a ocultar el menú principal, así que
sabemos que está funcionando. Si hace eso, esto fue para el servidor Create.
Vamos a hacer clic en Reproducir. Se ve que no puedo
presionar, mi mouse desapareció cada vez que hacía
clic en el juego Vamos al controlador y vayamos a Class Defaults. Vamos a hacer clic en este
llamado show mouse cursor. Está arriba todo el tiempo. Vamos a
compilar. Vamos a hacer clic en play. Ahora puedo ver mi
ratón todo el tiempo. Doy click en Crear Serva, puedes ver que mi
menú principal desaparece. Y en realidad estoy mostrando
el navegador Serva, o Create Serva, que aún no
hemos creado. Ahora esto está funcionando.
Vamos a continuar. Pasemos al siguiente botón. Para el siguiente botón,
lo
voy a llamar botón unirse a Serva, enviándolo a una variable para
que pueda codificar con ella. Y yendo a la gráfica,
haga clic en el botón, haga clic en el clicado, vamos a copiar todo eso
para que no tengamos que escribirlo nuevo para el primero Nuevamente, oculta el menú principal, pero muestra el navegador de Sera. Este es el servidor conjunto
para el último, hagamos clic en el
botón del botón. Sigue adelante y hace
que sea variable. Ahora en la gráfica vamos a
hacer clic en se hace clic aquí. Para el quit, tenemos
una sencilla función llamada quit game y seleccionarla. Este era jugador específico. Sólo voy a decir controlador de
jugador. Seleccione Controlador de reproductor. Y este es el jugador que queremos dejar el
juego y compilar. Hagamos ahora clic en
Reproducir. Y esto es todo. Cada vez que hacemos clic en salir del juego, cada vez que hago clic en Unirse a Serva, va al navegador Serva que aún no hemos creado. Todo es correcto. Ahora lo que puedes hacer es ahora puedes juntarlos,
hacer que se vea mejor. También puedes seleccionar
algunos de ellos. Da click en C en tu teclado
para crear un comentario. Por ejemplo, se puede
decir, Joinva Logic. Puedes intentar hacer comentarios. Incluso puedes cambiar el color
del comentario, lo
que quieras. Trate de mantenerse lo más organizado
posible. Eso lo haré más tarde. Entonces por ahora sólo voy a ponerlos juntos
y guardar todo. Y pasemos
al siguiente.
19. 2.10 Programación del nombre en Steam: Ahora sigamos adelante y asegurémonos que el nombre también esté funcionando. Porque aquí en el menú principal, agregamos este. Hola Steam. Pero el juego tiene que saber
cómo te llaman en Steam. Así que volvamos
aquí. Ir a la interfaz de usuario. Abre una vez más, la interfaz de usuario del menú principal dentro de aquí. Vamos a dar click en este texto. Sólo voy a
llamarlo nombre de capa de texto. Podemos configurarlo como variable, así podemos codificar con
él aquí en la gráfica. Lo que queremos hacer es después de tocar esta animación o en realidad antes de
tocar la animación, hagámosla lo más rápido posible. Aquí después de la referencia del
controlador del jugador. Vamos a hacer clic en Alt y dar clic
aquí. Lo desconectamos. Lo que queremos hacer es tomar el nombre de
este jugador y
arrastrarlo y decir Establecer texto. Esto es básicamente lo
que estamos tratando de hacer. Seleccionemos la función, establecemos el texto y vamos a conectarlo. Ahora en lugar de simplemente bloquear
el nombre y te
voy a mostrar realmente
antes de que hagamos otra cosa, hagamos clic derecho y obtengamos el
controlador y obtengamos el controlador
del reproductor. Entonces a partir de esto puedes arrastrar
y decir get player name puede usar este. Y es a partir de las sesiones avanzadas como
veas consigue jugar un nombre y básicamente puedes
simplemente conectarlo aquí. Siempre que hagas clic en Reproducir, ahora puedes ver me da
el nombre, este nombre aquí. Y no hay animación porque olvidé conectarla aquí. Así que volvamos a hacer clic en reproducir. El nombre es correcto.
Este es mi escritorio porque lo estoy ejecutando
a través de este de aquí. Pero si lo ejecuto como un juego
independiente, de nuevo, un juego independiente
va a tardar un poco
más en abrirse. Es por ello que suelo jugar
en el otro modo ahora mismo. Pero ahora se puede ver
cuando lo abro, hecho en mi equipo,
se puede ver que el vapor está funcionando. Dice que me llaman Jacks. Y esto es porque así es
como mi nombre está en Steam. Ahora en realidad sabe
cómo me llaman. Déjame volver
al pastel aquí. Es mucho más rápido de abrir. Se ve que solo dice mi nombre y
no dice hola. Cuando quieres que el texto estático
se mezcle con el texto dinámico, hay
que usar algo
llamado el formato de texto. Golpeemos desde aquí y digamos formato texto seleccionado aquí. Después selecciona lo
que quieras escribir. Quiero escribir hola
y luego mi nombre aquí, quiero escribir hola. Mi nombre es dinámico. Lo que haces es para texto dinámico, pones un corchete, solo
llamémoslo Reproducir un nombre. Y luego tienes un corchete
cerrado. La abres y la cierras. Cuando hagas eso, te va a dar una entrada
aquí para una variable. Lo que puedes hacer, vamos a
eliminar este a cadena. Así que ya podemos tomar esto y enchufarlo aquí. Ahora
va a funcionar. Y vamos a hacer que se
vea mejor así. Al hacer clic en reproducir. Ahora puedes ver aquí, dice hola y luego tu
nombre por aquí. Ahora eso también está funcionando, y ahora podemos pasar
a la siguiente lección.
20. 2.11 Diseño de fondo del menú principal: Lo que quiero hacer
en esta lección, quiero diseñar un fondo
para el menú principal. Porque como puedes ver aquí,
está oscuro en el fondo, lo cual está bien. Puedes
tenerlo así. Pero quiero agregar un fondo ahora si no
quieres hacer esto, solo tienes que seguir adelante y la
lección no es importante. Pero si quieres
aprender a hacer un fondo
también para tu menú principal,
puedes seguir adelante y hacerlo. Voy a hacerlo
por tres D ahora. Esto es mucho más fácil
para quienes han seguido mi curso en Game instruct.com Este curso
aquí, curso Counterstrike Sólo voy a usar el mapa principal que
creamos en este curso. Este es el curso de
disparos en primera persona hecho solo
con plano También fue muy divertido
hacerlo. Pero principalmente lo
que voy a hacer es que voy a copiar todo esto. Y lo voy a usar como
menú principal por aquí. Si has hecho este curso, lo que quiero que hagas
es simplemente dar click aquí, Control A para seleccionarlo todo. Control C para copiar. Entonces volvamos
al menú principal. Da click aquí y controla
V para pegarlo todo. Eliminemos cosas que realmente no necesitamos. No necesitamos todas
estas armas. Así que sigamos adelante y
va a hacer esto un poco más grande. Por ahora, seleccionemos
la carpeta de armas. Creo que nosotros, no podemos
eliminar la carpeta, tenemos que seleccionar
todo en ella. Seleccione este turno antiguo. Da click en el último, borra, y voy a eliminar también
la carpeta, borrando la cámara del espectador Y voy a borrar todos los puntos de spawn,
no los necesitamos. Eliminar también la carpeta y ver si necesitamos. El sonido está bien. El sonido está bien. Bien, ya
tenemos todo esto. La captura de reflexión, en realidad
voy
a borrar también. No me da este
mensaje que tengo que
reconstruir la captura de
reflexión de esfera. Voy a borrar
esa también. Realmente no lo necesito Ahora
vamos a guardar todo. Bien, ahora este es el mapa principal. Si hacemos clic en play, se ve
un poco más interesante. Ahora puedes ver que cambia donde quiera que esté aquí
con la cámara. De hecho, agreguemos una cámara. Voy a agregar una cámara
tal vez por aquí así,
así que se ve un poco interesante. Quiero que pinches aquí arriba. Haga clic en Crear cámara aquí y seleccione la cámara cinematográfica Ahora vamos a hacer clic derecho en
la cámara cinematográfica. Ta, aquí arriba en el outliner, y luego seleccione Párpado Ahora estamos dentro de la cámara. Ahora cuando me muevo,
en realidad estoy moviendo la cámara. Pero quiero que lo hagas aquí en
la cámara cinematográfica ect, quiero que vuelvas a cambiar
la película Voy a cambiarlo a SLA, voy a cambiar
la configuración de la lente para cambiar a un 50 milímetros Eso nos da como un fondo
borroso. Vamos a agregar un personaje
dentro de aquí. Solo voy a usar mi
personaje que en realidad
teníamos antes de hacer animaciones aquí. Recuerda si hiciste el curso, solo
voy a
buscar una animación ociosa. Por cierto, puedes agregar lo
que quieras dentro de esto. Ver. Aquí
realmente no importa, es solo el fondo. Ahora para la escala, era 1.6 porque los personajes
eran un poco demasiado pequeños Aquí, podemos cambiar la vista a
tal vez algo así. Tengo algo aquí en primer plano,
algo interesante Voy a bajar la velocidad de la
cámara aquí arriba. No me muevo esto rápido y sólo
me voy a ajustar. Ahora lo que suelo hacer
es dar clic en Ventana y Mirador y abrir
una segunda ventana gráfica aquí En mi segundo monitor, hecho
puedo ir aquí y mover mi época y girarla
sin afectar a la cámara. Lo que quiero
que hagas aquí primero, para la cámara, trata de encontrar
una linda vista que te guste. Haga clic en 11 para maximizar la
vista a una vista agradable. Sólo voy a
alejar esto. Intenta encontrar una bonita
vista de la cámara. Siempre que lo hagas, sigue
adelante y
haz clic derecho en la cámara aquí. Vamos a transformar aquí
y luego bloquear el movimiento. Ahora no puedes mover la cámara
por error
porque ahora también está bloqueada para
la cámara. Voy a eliminar la relación de aspecto de
restricción, aquí está. Así es ahora
lo que parece, se ve genial. Ahora lo que quiero que hagas
en el segundo punto de vista, siempre
puedes ahora
arrastrar a este tipo aquí y rotarlo así. A lo mejor lo que creas que te
queda bien. Creo que algo como
esto es bueno para mí. Ajusté el
movimiento de la misma aquí, la ubicación y la
rotación, y así sucesivamente. Cambié la configuración de la lente
a 85 milímetros así que
tengo más desenfoque Ahora para que se
enfoque, hay que
ir aquí a la
configuración de Enfoque y luego clic en Dibujar Plano de Enfoque de Debo. Entonces solo cambia el número, hazlo más bajo hasta que veas un plano
púrpura como este. Y luego solo asegúrate de que esté en el personaje o en lo que sea
que estés tratando de enfocarte. Siempre que está en algo, ya
sabes, no es borroso Voy a quitar
el plano de depuración ahora, y así es como se ve. Ahora cuando esté satisfecho,
voy a dejar esta
cámara dando click aquí arriba. Deja de pilotar al actor, estoy fuera de él. Ahora que se
ha creado el fondo,
sigamos adelante y
asegurémonos de que engendremos
en esta vista Déjame subir aquí. El plano de nivel. Y
lo que es el plano de nivel, es solo código específicamente
para este nivel No se trasladará a
otros niveles dentro de aquí. Lo que quiero que
hagas es que selecciones la cámara
aquí en el Outliner Y luego quiero
que hagas click derecho, adelante y crees una
referencia a esta cámara. Quiero que hagas
clic derecho y busques objetivos de
visualización.
Simplemente puedes quitar esto. Tenemos que usar este
llamado Set Target with Blend. Adelante y selecciona esa. Sigamos adelante y
lo conectemos ahora para el objetivo. Digámoslo Controlador. Bajemos. Y ahora, la razón por la que tengo todo esto ahora es
porque elimino esto. Si solo lo tomo de nuevo, recuerda marcarlo de nuevo, solo
obtendrás las funciones
relevantes. Seleccione éste. Obtenga el
controlador de reproducción una vez más. Por cierto, antes no
pudimos encontrar esto porque
en realidad tienes que hacerlo, tienes que decir obtener controlador. Entonces desde este
puedes arrastrar y decir Establecer vista objetivo con Blend. Y entonces se puede ver
sin hacer esto. Si lo haces sin
agarrarte de éste, tienes que quitar aquí el sensible al
contexto El nuevo objetivo de visión
es nuestra cámara. Debería funcionar simplemente bien. Acabo de hacer clic en jugar ahora, y solo tengo mi vista en lugar
aleatorio. Hago clic en Reproducir. Se puede ver que ahora estamos
dentro de este trasfondo. Ahora saltemos por encima
en la siguiente lección, y te enseñaré a
agregar sonidos a estos botones.
21. 2.12 Adición de Button SFX: En esta lección, te voy
a enseñar rápidamente cómo crear
clics de botón y así sucesivamente. Entonces tenemos sonidos
para tus botones. Sigamos adelante en
la carpeta de contenido. Hagamos clic derecho y sigamos
adelante y hagamos una nueva carpeta. Yo ya hice esto. Tengo
una carpeta llamada audio. Sólo tienes que seguir adelante y hacer
uno dentro de aquí. Se puede hacer una carpeta
llamada efectos de sonido. Ahora ya tengo muchos de ellos porque creé este juego. Pero déjame hacerlo
aquí por ti para que pueda verlo. Ahora lo que he incluido
para ti en esta carpeta de
materiales del curso son los efectos de sonido. Adelante y ábrelo y
verás algunos efectos de
sonido de botón. Adelante y los trapos
para que aquí les roben. Y entonces ves que
estos son creados. Lo que quiero que hagas es hacer clic
derecho sobre el botón, flotar, por ejemplo, y
luego puedes crear una que. Haz lo mismo con
la pulsación del botón, haz clic
derecho y crea una que. Puedes llamarlo como
quieras. Normalmente los llamo al principio para
el sonido. Además, a este
voy a llamar en un principio para
el
sonido. Aquí está. Ahora cuando haces clic en
Reproducir, puedes escucharlos. Si quieres reducir el sonido, siempre
puedes hacer click aquí, hacer
doble clic sobre ellos. Y luego en el multiplicador de
volumen, se
puede reducir el sonido si
son demasiado altos.
Ya los hice. Voy a borrarlos porque ya los tengo dentro de aquí, El botón hoover, y
el sonido es 0.15 para mí. Para la
pulsación de botón, lo hice 0.4 Un modulador básicamente hace que el clic no suene
igual cada vez que haces clic. Si quieres hacer uno, si acabo de borrar este de aquí, es como se
ve para ti. Siempre puedes arrastrar
y buscar modulador y seleccionarlo
y luego conectarlo aquí. Y ahora tienes uno. Lo que suelo hacer en el pitch
mínimo y máximo, escribo 0.91 0.1 y
puedes probarlo. Ahora, cada vez que hagas clic en Reproducir, debería sonar diferente. Cada vez que hagas clic en
Reproducir, escuchémoslo. No suenan
completamente igual. Creo que le da
como un efecto único. Vamos a guardar todo.
Y lo que puedes hacer ahora es cerrarlo
todo. Puedes volver a tu interfaz de usuario
y abrir tu menú principal. Dentro de aquí, hagamos clic
en uno de los botones. Y ve aquí abajo. Se puede ver el sonido prensado. Adelante y selecciona tu sonido. Sólo voy a buscar
botón. Aquí está el botón. Esta es la pulsación de botón
presionada y la otra
es botón hover Este funciona. Ahora, si quieres cambiar varios
botones a la vez, siempre
puedes hacer clic en uno. Mantenga el control, seleccione también el
segundo botón. Siempre puedes
hacerlo más rápido de esta manera. El primero se presiona
y el segundo está flotando. Haga clic en Compilar. Ahora cuando hago clic en Reproducir, se
puede ver que tienen sonido. Y cuando hago clic en uno de
ellos, también tienen un sonido. Todo está funcionando a la
perfección. Y sigamos adelante.
22. 3.01 Creación de un widget para crear servidor: Ahora estamos listos para crear
el widgit Create Serva. Sigamos aquí en la interfaz de usuario, abramos el menú principal y hagamos clic derecho,
vayamos a Interfaz de usuario y creemos un plano de
widget Ahora para éste, lo vamos
a llamar Crear Serva. Por ahora, en realidad no necesitamos hacer nada dentro de aquí. Pero recuerda que tenemos
que ir a planos. Abre el menú principal y ve al control de playout
para el menú principal Porque dentro de
aquí, si recuerdas, creamos el
widget show hide. En el widget show. Entremos aquí. Ahora, al
igual que el menú principal, puedes hacerlo tú mismo para el Crear Serva si
quieres algo de práctica. Si no te acuerdas, sigamos
adelante y hagámoslo juntos. Vamos a hacer clic derecho
aquí. Creas widgets. Adelante y seleccionado. Seleccionemos nuestro widget
Crear Serva que acabamos de crear. Haga clic con el botón derecho. Promueve esto a una variable
y llámalo crear sueros. Golpeemos desde
aquí y digamos agregar a la vista, Así como esto. Ahora, igual que antes,
voy a tomar esta variable, voy a
hacer click derecho y convertirla un get validado porque realmente
no necesitamos crear el Widgit cada vez que
abrimos create sera widgit, solo
queremos
crearlo cuando no sea válido la primera vez , la segunda vez que
la abras, va a
ser Solo queremos agregarlo
al Viewpoardt antes recordar
conectarlo al create sera aquí y solo hacer
algo de espacio Ahora estamos listos para ir a
la función Hyde widgit. Adelante, abre esto. Arrastre el create sera
widgit aquí. Haga clic derecho, convierta a
validado, conéctese. Recuerda de nuevo, quitar del padre significa que
lo eliminas de la ventanilla gráfica Retirar de los padres
así como esto. Armarlos,
haz algo de espacio aquí. Siempre es agradable decir organizado. Adelante y guarda todo. Ahora debería funcionar. Si haces clic en Reproducir y haces clic en Crear Servir, no pasa nada. Esto se debe a que nuestro
widget está vacío. Además, asegurémonos de que lo
codificamos correctamente. Si voy al menú principal aquí, solo
quiero recordar si
en realidad lo hice correctamente. Básicamente puedes simplemente
hacer clic en el botón. Puedes desplazarte hacia abajo y
puedes hacer click sobre esto aquí
que creamos anteriormente. Este botón haga clic. Golpeamos el menú principal y mostramos los sueros Create. Debería funcionar. Ahora bien, si abro
el create sera, solo
necesitamos agregar
algo dentro de aquí para que podamos realmente
ver si está funcionando. Si solo busco
imagen y la arrastro, cambiemos el tinte a algo mejor para los ojos para
que no nos ceguemos Complemente esto abajo. Ahora si hago clic en
Play y lo pruebo. Ahora da clic en Crear Sera. Me sale este widget y en
realidad está funcionando. Nos metemos dentro de aquí. Ahora vamos a darle click aquí. Eliminemos la imagen. Por ahora, compilar,
guardar todo. Pasemos a la siguiente lección donde diseñamos este widget.
23. 3.02 Diseño del widget de Create Server: Bien, bienvenido aquí. En esta lección, vamos a diseñar el widget create server. Ahora esta va
a ser larga, tal vez solo mantente enfocado,
mantente interesado. Ojalá, a veces la interfaz de usuario
puede ser muy desalentadora. Vamos a seguir adelante y hacerlo. Lo que quiero diseñar, solo
quiero mostrarte
lo que vamos a hacer porque siempre es agradable ver lo que
vamos a hacer. Es esta interfaz de usuario aquí,
Crear servidor. Tenemos el
nombre del servidor, tenemos el mapa, cantidad de slots para el servidor, el idioma para el servidor. Por ejemplo, si es
inglés, alemán y así sucesivamente. La privacidad si es servidor
público o terrestre. Y luego tenemos el
botón Crear y el botón Atrás. Esto es lo que estamos tratando de hacer. Siempre es agradable verlo porque antes de empezar a
hacer el diseño, siempre visualiza
lo que intentas hacer. Y es mucho más fácil
usar cajas horizontales, cajas
verticales, etc. Vamos a seguir adelante y echarle un vistazo para
el tamaño de la pantalla. Solo quiero
asegurarme de que lo estoy diseñando para laptops genéricas. Vamos a compilar ahora
lo primero, nuevamente, para UI, tenemos que recordar agregar un panel de canvas antes
de hacer nada. Ya que tengo antecedentes y algunas cosas
encima, quiero empezar. Empecemos primero con una caja
vertical, porque esto es
básicamente lo que es. Empecemos primero
con una superposición. Una superposición es básicamente algo superpuesto uno
encima del otro Primero, quiero una imagen
de fondo. Sigamos adelante y arrastremos
esto a la superposición. Ahora se puede ver la
imagen es sólo aquí. Así que hago clic en la superposición y
llene esta superposición aquí. También para la imagen, la lleno horizontal y verticalmente. Así como esto para la
imagen. Veamos aquí. Vamos a la interfaz de usuario y vamos a
las imágenes que importamos. Creo que voy a
usar este panel aquí. Yo sólo puedo arrastrar este panel azul hacia aquí, igual que antes. Voy a cambiar esto en una caja y
cambiarlo a un margen de 0.5 para que no esté
borroso así ahora Ya se ve mucho mejor. No me va a
preocupar por el tamaño de esto por ahora,
realmente no importa. Pero lo que voy a hacer es
anclarlo a la mitad. Al hacer clic en la caja vertical, anclarla al centro
con la alineación de 0.50 0.5 Así que
está en el medio Además, recuerda la posición
00 en la x e y, por lo que queda perfectamente en
el medio así. Sigamos aquí. Ahora tenemos esta superposición. Dentro de la superposición, recuerda que tenemos todos
estos elementos aquí. Todos estos elementos
están alineados verticalmente. Sigamos adelante y agreguemos una caja vertical dentro
de esta superposición. Ahora en esta superposición, en la superposición
tenemos una caja vertical. Como puedes ver aquí,
es muy pequeña. Lo que quiero hacer para no
hacerlo pequeño es de nuevo, lo
alineamos horizontal
y verticalmente. Llena todo el asunto. Yo sólo quiero
alejarlo de los bordes. Lo que voy a hacer, te
voy a dar un poco de relleno porque ahora
cuando añadimos algo de texto, por ejemplo, puedes ver si
agrego texto al cuadro vertical, se agrega aquí al borde. Y no quiero que eso
haga clic en el cuadro vertical, voy a aquí a la izquierda. A lo mejor darle algo como
50, algo así. A la cima, le voy
a dar 35 pixeles. 50 unidades hasta aquí, y 35 al fondo también.
Algo como esto. Es aquí en el medio
cuando le agrego elementos. Ahora para este texto,
voy a darle click sobre él y voy a alinearlo en
el medio horizontalmente. También, aquí abajo para
la justificación, voy a
ponerla a la mitad. Ahora para éste sólo
voy a decir crear Servo. De hecho, sigamos adelante y
copiemos desde el menú principal, porque realmente no necesitamos
crear todo desde cero. Voy a copiar esto
en realidad desde el menú principal, Control C, y luego controlar V encima de
esta caja vertical. Voy a eliminar
este de aquí. Lo que voy a hacer es que sea 22 en la talla así que
sea mucho más grande, luciendo algo así, porque es un título. En cuanto a la sombra,
creo que está bien. Todo se ve bien. Ahora, sigamos
adelante y continuemos. Ahora necesitamos un texto y
una caja de entrada para que podamos volver a
escribir el Seroname Voy a dar click aquí y copiar esto y pegarlo encima
de la caja vertical. Voy a dar click sobre este
texto Para el tamaño de este, voy a hacer 18. Voy a hacer la sombra
del set uno en lugar de dos. Agreguemos un espacio, así tenemos
espacio entre estos dos. Busca un espaciador, lo
trapea y edita entre
esos dos textos Para el espacio en la
y. sólo voy a escribir 25 así que tenemos
algo de espacio aquí. Ahora, haciendo clic en este texto, quiero que lo alinearás
a la izquierda en su lugar. Nuevamente, la justificación.
Asegúrate de que quede. Este, asegúrate de
que esté en el medio. Ahora sigamos adelante
y agreguemos un cuadro de entrada. Si buscas texto, ves este
llamado cuadro de texto. Sigamos adelante y agréguelo a la caja vertical.
Es aquí abajo. Ahora para éste,
voy a dar click sobre él. Sigamos adelante y diseñarlo. Imagen de fondo normal. Ahora bajemos aquí en la interfaz de usuario y veamos qué
podemos usar para ello. Si voy a imágenes, creo que voy a usar esta barra
de entrada azul en las imágenes. Para éste. Yendo al crear
sera por aquí, voy a hacer click y
arrastrarlo hacia aquí por el margen, para la caja, voy a
decir 0.5 igual que antes. Voy a copiar
esta imagen de fondo. Mantenga presionada la tecla Mayús, haga clic derecho y luego mantenga presionada la tecla Mayús hacia la izquierda
en ambos aquí. Sigamos adelante y
cambiar el diez está bien. En realidad, cambiemos éste. Si quieres que el
hover sea de otro color, siempre
puedes hacer
esta barra de entrada flotando en el enfocado Puedes hacer este enfocado
que yo he creado. Siempre que coloques
el mouse sobre
él, debería hacer algo Si hago clic en Plate
Create, pruébalo, puedes ver que
cambia el color, así tienes algún efecto. Cuando haces clic en
él, está enfocado. Se ve así, ¿verdad? Ya se ve bien.
Ahora, sigamos adelante y dale un poco de relleno porque es demasiado pequeño. Y también, en realidad vamos a darle un texto aquí arriba para que podamos ver cómo se ve
con el texto también. Por ejemplo, puedo
decir mi servidor, ahora así es como se ve. Obviamente, no se
ve muy bien. Tenemos que cambiarlo.
De hecho cambiemos el texto. Antes de estilizar esto, voy al
frente para éste Voy a usar
medio rubic para el tamaño del texto. Creo que 16 debería estar
bien para el color del texto. Voy a quitar
esta herencia y
hacerla simplemente blanca aquí así No creo que tengamos que
hacer más cosas. Cambiemos el
relleno aquí arriba. Ahora, para el acolchado, de nuevo, es izquierda, derecha, de arriba hacia abajo. Ahora para arriba hacia abajo, creo que voy a sumar 20 por 20 así para
la izquierda y la derecha. Voy a añadir un poco menos, tal vez 16 por 16. Parece algo
así como este de aquí siempre
puedes hacerlo más pequeño
, regístrate a lo que quieras. Pero creo que esto ya se
ve bien. Solo probemos en juego
y veamos cómo se ve. Si hago clic aquí, puedo
escribir Looking Good. Y si escribo un texto largo, así es como se ve. Se ve genial ya. Vamos a darle algo de
espacio desde aquí arriba. El relleno ya es cuatro en
realidad en la parte inferior. Digamos sólo cinco. Yo
sólo quiero darle un relleno más para que tengamos
algo de espacio entre estos dos. Ahora estamos listos para hacer el
siguiente, que es el mapa. Sigamos adelante y solo
copiemos este texto aquí. Control C, Control V
en la caja vertical. Voy a llamar a esto un mapa. Vamos a agregar un espaciador una
vez más entre estos dos. Voy a controlar D para
duplicar este espaciador. Arrástralo hacia abajo sobre este texto. Tenemos algo de espacio aquí arriba. Sólo voy a hacerlo menos. En su lugar voy a hacer 20. Ahora viene la parte más difícil, porque ahora vamos
a usar un cuadro combinado, que es un menú desplegable. Pero es un poco más
difícil estilizar este. Vamos a seguir adelante y hacer esto, pero va a
ser un poco
más difícil que los botones y la entrada. Ahora bien, para este,
tenemos que darle algunas opciones por defecto
para los mapas. Puedes hacer lo
que quieras. Solo voy a agregar algunos
mapas de contraataque. Tenemos dos. Tenemos un mapa llamado Inferno, tenemos un mapa llamado Mirage, y tenemos un mapa llamado
Office. Tengo estos dos. Y luego hay que
darle una opción seleccionada. Predeterminado, seleccionado.
Hagamos Inferno Este es el seleccionado. Ahora tienes que hacer clic en Compilar antes de que te muestre nada. Recuerda presionar y
compilar o el relleno. Aún no lo sé porque en
realidad bajemos en
este estilo y vamos a estilizarlo primero antes
de hacer un poco de relleno en el estilo de botón combo estilo
botón, luego normal Empecemos con
éste. Puedes ver aquí
hay muchas
opciones para hacer. Es un poco más complejo. Empecemos por el
normal aquí. Bajemos aquí a Buttons. Y voy a usar este que se
llama Button Square azul. Siempre es agradable usar un cuadrado para estos porque hay un
fondo que no puedes quitar. Si es redondeado como hubiera un
fondo pequeño que aparece, será mucho más fácil para
ti usar uno cuadrado. Sigamos adelante y hagamos eso. Vamos a arrastrar esto hasta aquí. Hagamos esto aquí en el sorteo ya que lo voy a
poner como cuadro igual antes con el margen
de 0.5 El tinte sea blanco. Usamos nuestro propio botón normal look ahora para el relleno. Vamos a darle un poco de relleno aquí
arriba en el relleno de contenido, creo que voy a hacer este
por la izquierda y derecha
, a lo mejor voy a
darle seis por seis. Vamos a compilar y
ver cómo se
ve para arriba y hacia abajo. Probemos 16 por 16 y veamos cómo se ve. Así
es como se ve. Ahora tengo que darle un poco más en el fondo
porque se ve
así empujándolo
más al fondo. Voy a quitar algo
de la parte superior también, en vez de 16, tal vez. Voy a escribir 12 aquí. Pila. Creo que esto
se ve bien. Ahora lo que podemos hacer aquí, vamos a estilizar el texto para que
podamos ver cómo se ve Antes de hacer eso, vamos a copiar esto
en realidad. Vamos a copiar esta
normal al hoverd. Em prensado. Vamos a hacer clic aquí. Ahora para la Emperatriz Hoverd, realidad no
tenemos, no
tengo más botones De hecho, vamos a usar el mismo para
todos ellos aquí. Ahora por la diversión, sigamos
adelante y cambiemos el fondo. Antes de que hagamos algo,
el fondo está aquí abajo. Cambiemos éste. Voy a
cambiarlo igual que antes. A medio rubiano. El tamaño es 16 y el
color es blanco Así. Quizá necesitemos un poco más de
relleno porque está demasiado cerca. Pero primero, sigamos adelante
y cambiemos esta flecha. Si bajo y encuentro la flecha, este es el relleno del menú, puedes ver que es un
poco más confuso. Para cambiar esta imagen de una flecha
hacia abajo, continúe y haga clic en esta.
Vamos a cambiarlo ahora. Ya tengo uno
en las imágenes. Tenemos una flecha aquí, así que puedes hacer clic
y arrastrar esta adentro, se ajusta al color
para esta flecha. Voy a dar click
en el tamaño de la imagen y hacerla un poco más grande. Voy a hacerla 14
por 14 y compilando. También le voy a dar
un poco Pdding aquí
porque está demasiado cerca a la izquierda y a la derecha Voy a darle 12 por
12 para arriba y hacia abajo. Vamos a darte algo de cuatro
por cuatro. Vamos a compilar.
Así es como se ve, luciendo mucho
mejor que antes. Ahora lo que tenemos que hacer es
cambiar el propio menú porque puedes ver un cinco click en
play y dar click en este menú. Tenemos algún fondo oscuro
y el texto también está equivocado. También está oscuro. Sigamos adelante y cambiemos
eso. Haga clic en él. Ahora para el texto oscuro, volvamos y
encontremos dónde está. Está dentro del estilo de
artículo tal vez, estilo de artículo. Si vas dentro
de aquí tenemos, hagámoslo más grande para que pueda ver
realmente lo que dice. Tenemos el pincel de fondo par y tenemos
el
pincel de fondo de fila padre
y el pincel de fondo de fila impar. Sigamos adelante y hagamos
clic en ellos. El oddro, por ejemplo, quiero que cambies el
sorteo como una caja en su lugar, luego 0.5 en el margen El tinte aquí, en vez
de ser blanco, lo
puedes ver cuando hice esto. Ahora si hago clic en Reproducir, el fondo
va a ser blanco. Para éste, para el impar. En lugar de hacer blanco,
vamos a darle un clic. Da click en el
seleccionador de color y selecciona el fondo para
el propio borde, va a colorearlo
con el mismo color Si hago clic en jugar ahora lo
puedes ver abajo por la parte inferior. va a usar el mismo color Aquí va a usar el mismo color, que es lo que queremos. No te preocupes por
lo que parece hasta ahora, vamos a cambiar eso ahora. Solo quiero copiar esta configuración y pegarla al pincel de fila
par y al pincel fila de fondo
padre así. Vamos a hacer clic en Reproducir. Mira cómo se ve ahora. Se ve mucho
mejor que antes. Ahora agreguemos o
cambiemos el color del texto a blanco para el color seleccionado. También voy a cambiar de
blanco porque
vamos a ver el seleccionado a través
de estos aquí. Se puede ver que el
seleccionado es azul así. Quiero cambiar eso
a este color aquí. Creo que se ajusta mucho mejor para el cepillo activo
flotado. Voy a seleccionar
el color aquí abajo. En realidad, sólo
voy a hacerlo en realidad, no, no este color
porque es el color aquí. Lo que quiero hacer es
querer hacer clic aquí, elegir el seleccionador de color Y escoge este color aquí abajo. Es el color oscuro, el mismo para
el pincel activo. Voy a copiar este tinte
y pegarlo aquí abajo. Hago clic en Reproducir. Así es como se ve,
se ve mucho mejor. Voy a quitar esta línea
naranja que va por aquí arriba. Para esta línea,
sólo voy a usar el mismo color que
aquí abajo. Bien, bien. Ahora se ve un poco mejor,
pero como puedes ver, en
realidad no se
ve demasiado bien. Al igual que el cuadrado
se ve muy raro. Sigamos adelante y arreglemos eso. La forma en que arreglamos esto, si vamos hasta aquí y tenemos algo
llamado un cepillo menudo. Si haces click abajo en este, sé que este video se está
haciendo demasiado largo. Pero solo quiero hacer
esto de la manera correcta aquí. En el pincel Met, necesito que lo cambies. Solo volvamos a
los botones y cambiémoslo a
éste que usábamos antes. Adelante y arrástralo ya mismo. El margen para éste, voy a dar un 0.5 Y también para el menú de embarque
rumbo aquí por la izquierda, voy a darle 12, luego 28 a la cima. Ahora, lo probé antes, y creo que se veía bien. 12 a izquierda y
derecha, y 28. 32 aquí. Yo sólo puedo compilar y
se puede ver cómo se ve. Si hago clic en jugar ahora
puedes ver cómo se ve. Ahora, le dimos unas palmaditas así, ahora lo estamos viendo como aquí Ahora bien, para el color hover, creo que voy a cambiar ese
color hova como puedo ver aquí, porque no
quiero que esté oscuro Se ve mucho
mejor que antes. Sigamos adelante y
arreglemos el color del hover. Si voy aquí abajo, usemos
realmente el color Daca. Creo que eso se verá mejor. Voy a
copiarlo desde aquí arriba. Aquí es donde
lo usamos aquí para el margen. De hecho, solo
copiemos el color por ahora. Realmente no necesito
nada más para el hovert. Voy a pegarlo
aquí. Este también. Voy a cambiar a
caja 0.5 pegando el tinte, y para la fila par también Voy a pegarlo aquí abajo,
Compilar, dar click en play. Ahora bien, así es como se ve. Creo que se ve mucho mejor. Ahora, aquí en el encabezamiento de la fila
del menú, voy a darle
aquí a la izquierda, 12.12 a la derecha, cuatro a arriba y abajo Y voy a compilar
y dar click en Reproducir. Lo que esto hace es que
le da cierto espacio entre
estos elementos. Ahora en el relleno de fila de menú, le
damos algo de espacio
a los elementos. Para que veas que están un poco más alejados el uno del otro. Creo que ya terminamos. Pero antes de hacer esto,
quiero darle un poco más de espacio
a este texto aquí. En vez de 612 aquí, voy a dar tal vez
más cuatro en la parte inferior, más cuatro en la parte superior. Vamos ah, y compilar
y ver cómo se ve. Así como esto, en realidad
una B más cuatro otra vez y más cuatro nuevamente compilan
a izquierda y derecha. Le voy a dar un poco más. Probemos más cuatro
más cuatro aquí. Compilarlo parece. Creo que se ve un poco mejor. Vamos a darle un poco más. Vamos a darle 12 por 12. Compila, ¿bien? Creo que esto se ve mucho mejor. Sigamos adelante y
trabajemos con éste. Vamos a hacer clic en Reproducir y
asegurarnos de que no tenemos ninguna caja con esta por otra. Todo se ve bien ahora. Bien, esto es lo que
vamos a usar ahora. Necesitamos uno para los mapas, esto es mucho más fácil
porque ahora vamos a copiar y pegar igual que antes. Recuerda que los tenemos
en una caja horizontal. Sigamos adelante y
busquemos la horizontal. Adelante y pegarlo
en la caja vertical. Ahora en vez de esta horizontal, voy a arrastrar adentro, tenemos que arrastrar en estos dos. Pero antes de que podamos hacer eso, vamos a envolverlos
en una caja vertical. Aquí no estropeamos su alineación
vertical. Sigamos adelante y
haga clic aquí. Arrástralo a la caja vertical. Para este cuadro vertical, voy a dar click en Control
D. Lo duplicamos, ya que queríamos
llenar toda el área, vamos a dar click en el primero. En realidad, vamos a hacer
clic en el cuadro horizontal. Asegúrate de que sea así. Para el
cuadro vertical, haga clic en llenar. Para el cuadro vertical dos, haga clic en llenar también. Duplicemos este espaciador
y lo peguemos entre esos. Déjame solo escribir uno en la Y, pero en la X tenemos que
darle algo de espacio. Ahora para la X, sólo le voy
a dar un espacio de 25. Cambiemos este texto a slots. Cantidad de ranuras para
el servidor de aquí. Vamos a darle algunas opciones
por defecto. Digamos dos jugadores, cuatro jugadores, ocho jugadores. A lo mejor 16 jugadores. Vamos
a darle uno más. Digamos 32 jugadores. Ahora la
opción seleccionada por defecto sería tal vez como cuatro
jugadores y compilar. Y lo verás aquí. adelante ahora y
dupliquemos este cuadro horizontal, haciendo clic en el control D
para duplicarlo de nuevo, voy a agregar
un espaciador entre ellos, duplicando este espaciador Añadiéndola aquí abajo. Para el siguiente aquí, vamos a decir lenguaje. Para el último,
vamos a decir privacidad. Ahora, para el idioma, solo elige lo que quieras. Por ejemplo, el inglés
sería el principal. También, para la opción seleccionada, voy a decir inglés. Esta es la opción predeterminada. El segundo podría ser alemán, el tercero podría ser chino. El último podría ser
algo así como el francés. Siempre puedes darle
tantos idiomas como quieras, pero esto está bien por ahora. Por la privacidad,
solo quiero dos opciones. Quiero público o si es un servidor terrestre,
adelante y compile. Y por supuesto tenemos que seleccionar una opción por defecto
que sea pública. Voy a quitar estas
opciones que no necesitamos. Adelante y compila. Aquí se ve genial.
Vamos a hacer clic en Reproducir. Solo probándolo para ver si todo es como
se supone que debe. Todo se ve bien. Ahora para la última
parte, los botones, vamos a seguir adelante y
duplicarlo desde el menú principal. Voy a duplicar
uno de ellos. Por ejemplo, este duplica el control de superposición C e
ir al servidor Crear. Y nuevamente, en la caja
vertical control V, voy a controlar
V una vez más, porque necesitamos dos botones. Y haciendo clic en
la caja vertical, vamos a hacerla más grande para que
podamos ver lo que estamos haciendo. Al hacer clic en el
cuadro vertical, el primero, se ve un poco raro
como puedes ver aquí. Ahora para el relleno, sólo
voy a decir
cero, el overlay. Y el segundo relleno de superposición, voy a decir cero. Se puede ver que están uno
encima del otro. Esto se debe a que
en realidad pegué la segunda superposición dentro
de la primera superposición Voy a arrastrarlo
a la caja vertical, y ahora están uno
encima del otro. La razón por la que este
botón está presionando este otro botón hacia abajo es porque el primero es un relleno, el segundo overlay no
es un relleno. Sigamos adelante y hagamos
clic en Rellenar. Entonces llenan tanto
espacio como por igual. Ahora agreguemos también un
espaciador entre ellos. Pero antes de hacer eso, agreguemos un espaciador aquí arriba,
duplicando este espaciador Eso, encima de estas
dos superposiciones, tenemos algo de espacio aquí
para estas dos superposiciones Sólo voy a
seleccionar los dos aquí
arriba para el relleno
hacia arriba y hacia abajo. De hecho, vamos a darle
un seis aquí y compilar. Cambiemos el texto
por el primero, vamos a decir Crear Serva. Para el segundo
vamos a decir atrás porque
necesitamos un botón para volver al menú principal para este, voy a cambiar de nuevo el color
a T cuadrado verde azulado Siempre puedes copiar esto. Péguelo aquí y aquí. Y luego se puede cambiar
el primero a
acaparar y el
segundo a pretenres Ahora el segundo para la espalda, voy a cambiar esto
a uno gris cuadrado, gris, copiar y pegar en
todos ellos así. Necesito copiar este
para el normal, no
sé por qué no
actualicé. Vamos a compilar esto. Cambiemos el segundo por
cómo se presiona uno este
y este Howard. Bien. Nuevamente, cambia los
colores aquí también, el color del contorno. Haga clic en él. Cólico. Voy a seleccionar
el color de contorno más oscuro Haga clic en él. Nuevamente, copia
Pegado al color de la sombra De vuelta aquí, da clic en él. Haz clic en Selección de color, elige
el color más oscuro de
amapola, el color, y pegarlo
a la sombra también Ahora se ve bien. Ahora puedes intentar cambiar el tamaño de la caja
vertical como desees. Porque puedes ver cuando cambias el
tamaño de la caja vertical, también
cambias el tamaño de los botones Simplemente redimensionarlo a qué, cuando crees que los
botones se ven bien Y pienso así
, entonces puedes redimensionarlo en esta
dirección también, lo que creas
se ve bien Yo sólo voy con
algo como esto. Aquí también damos algunos a estos
menús desplegables. Bien, lo que puedes
hacer es hacer clic en el cuadro vertical y centrarlo, posicionar y0x e Y cero Puedes seguir adelante y
hacer clic en Compilar. Ahora haciendo clic en
el primer botón, asegúrate de tener algunos sonidos también presionados
Sound Overt Sound y el otro también Recuerda, para ambos textos,
asegúrate
de que
se dice que la visibilidad no golpea comprobable, para que no bloquee
nuestros clics del mouse Creo que no nos
olvidamos de nada. Vamos a guardarlo todo. Haga clic en reproducir. Vamos a
probarlo. Ahora estoy aquí. Puedo escribir mi nombre de ser. Puedo dar click sobre ellos aquí, lo que sea. Servidor atrás aquí. Veo que la prensa trasera no
está funcionando. Solo para arreglar esto, da clic aquí. Y puedo ver que está ahí. Pero tal vez algo salió
mal simplemente cambiando aquí. A lo mejor algo está mal
con el botón en sí. Al igual que el arte en sí, creo que algo anda mal
con el arte en sí y no realmente este que
hicimos todo correcto. Bien, vamos a guardar todo ahora. Continuemos con
la siguiente lección, donde comenzamos a programar
este gran widget de servidor.
24. 3.03 Cómo obtener el nombre del servidor y el mapa seleccionado: Ahora para este menú
que creamos,
sigamos adelante y
empecemos a codificarlo. Para lo primero,
quiero obtener el nombre del servidor que
creamos aquí. Primero hagamos clic
en este cuadro de entrada. Tenemos que darle un texto aquí, porque en la gráfica realmente no
podemos usarlo. Aquí no lo agregamos como
una variable, configurándolo en es variable.
Sólo dale un nombre aquí. Voy a llamarlo
entrada para un cuadro de entrada, voy a llamarlo nombre de
servidor y compilar. Ahora dentro de la
gráfica se puede ver. Sólo voy a eliminarlos
todos aquí, dando clic en el cuadro de entrada. Y luego puedes dar
click aquí para hacer un evento sobre texto cambiado. Ahora esto es lo que sea que el jugador esté ingresando
dentro de aquí Sólo voy a
tomar esto y decir a la cadena. Adelante
y selecciónelo. Ahora bien, si no sabes qué es
una cadena y es un texto, estas son básicamente variables de
texto. Si hago clic en más, en la variable aquí y
selecciono el tipo de cadena, y hago una nueva y
selecciono el tipo de texto. Puedes ver aquí si
compilo una cadena, es solo algo de texto aquí mismo. La variable de texto también
es una oración. Aquí puedo escribir
ambos de es un texto. ¿Cuál es realmente la diferencia? La diferencia es que un texto puede traducirse a
otros idiomas. Por ejemplo, si quieres
traducir tu juego al
alemán o al idioma que quieras, japonés, ruso,
lo que quieras, tienes que usar una variable de texto. Si usas una cadena, no
puedes traducir tu juego. Sin embargo, una cadena
usa menos memoria. Siempre es mejor
usar una cadena si el texto que estás escribiendo
no va a ser traducido, solo una descripción aquí. Pero si quieres saber
mucho más al respecto,
solo tienes que seguir adelante de nuevo a Game instruct.com tengo muchos cursos sobre esto que puedes echar
un vistazo para este Primero, arrastremos desde aquí o simplemente haga clic derecho y
promocionemos esto a una variable. Voy a
llamarlo nombre de servidor. Sea lo que sea que el jugador
esté escribiendo aquí, lo
voy a enchufar a esta variable. Almacenamos esta información. La razón por la que lo
convertí en una cadena primero, y no solo clic derecho
aquí y
convertí esto en una variable es porque una cadena la puedes
modificar mucho más. Arrastras desde aquí
y cadena derecha, puedes ver que puedes
dividir el texto. Se puede comprobar si
empieza con algo. Simplemente se puede hacer mucho con él. Puedes recortarlo, hacerlo en
mayúscula, minúscula. En el futuro, vamos
a comprobar si el jugador está escribiendo palabras cuadradas
en el nombre del servidor. Y siempre podemos
decirle al jugador, no se
puede crear
un servidor si ha escrito esta palabra
en el nombre de su servidor. Evitamos que
los jugadores escriban la palabra, por ejemplo, o algo malo. Y en realidad podemos hacer eso usando una cadena
y podemos verificarlo. Además, podemos comprobar
si el jugador
realmente ha escrito algo
y no está vacío. Porque si está vacío, no
deberían poder
crear el Serva, estamos haciendo cheques
con éste. Ahora vamos a continuar. Lo siguiente es que vamos
a revisar el mapa aquí, lo que sea que hayan
elegido haciendo clic en él. Voy a llamarlo
CB por cuadro combinado. Simplemente llamemos a este
mapa o mapa de juego. Como quiera
llamarlo es variable. Vamos a tomarlo aquí.
No lo saquen. En realidad haga clic en él y
haga clic en Cambio de selección. Ahora para esta variable, este es el ítem seleccionado
que han seleccionado. Nuevamente, pueden seleccionar todos estos artículos que
has enumerado aquí. Ahora lo que quiero hacer, solo
para que sea un poco mejor, quiero tener los mapas del juego
dentro de una enumeración Nuevamente, recuerde,
una enumeración es donde quiera que haya hecho este
texto o esta lista aquí Así que sigamos adelante
y hagamos una nueva lista. Volvamos a los planos. Vamos a abrir la carpeta enos. Recuerda, hicimos una lista de widgets del menú
principal. Nuevamente, una enumeración
es sólo una lista. Vamos a los planos,
hagamos una enumeración. Llamemos a esto mapas de un juego. Sólo voy a enumerar todos los mapas
del juego que podamos jugar. Haciendo click aquí arriba un
par de veces. primero fueron apenas dos, el segundo fue Inferno, el tercero fue Mirage, y el último es Office Bien, sal y guarda
esta enumeración. Ahora lo que podemos hacer dentro
de aquí es que podemos arrastrar desde aquí y decir switch on string. Encender cadena es
que básicamente podemos decir qué código
reproducir si solo haces clic en
más, solo hagámoslo. Entonces lo puedes ver si
agrego algunos pines aquí, por ejemplo, tres de ellos. Hago click aquí para
el primero, nuevamente, voy a escribir aquí los nombres de los
mapas, Dos, Inferno, y Mirage, si
puedo escribirlo correctamente El último es de oficina. Ya tenemos estos mapas. Dependiendo de lo que sea el interruptor, igual que lo
que te dije antes aquí, en realidad lo hicimos
dentro del show hide. Si vuelvo, lo hicimos
aquí, encendemos la enumeración. Esta vez estamos
encendiendo una cadena. Si el jugador ha
seleccionado dos y tienes
que escribirlos exactamente como
los escribiste dentro de aquí, para que pueda reconocerlos. Si el jugador
selecciona, por ejemplo, Inferno va a simplemente
jugar este código aquí Lo que vamos a
hacer es que vamos a establecer la selección de enumeración Ahora para establecer el mapa, es mejor hacerlo dentro de la instancia del juego y
no dentro de aquí, porque necesitamos
usarlo para crear el servidor. Volvamos aquí. Trabajemos
con la instancia del juego y echemos un vistazo a lo que es aquí. Hagamos clic derecho en
la carpeta de planos. Ir a clase de planos. No hay realmente algo que
se llame una instancia de juego aquí. Tienes que hacer click
en todas las clases y tienes que buscar
por ejemplo de juego. Ahora lo que es una instancia de juego, es una instancia que se ejecuta
en el juego todo el tiempo. Si te unes a los sueros, si apagas el Serva, si estás en el menú principal
o si estás en juego, siempre
está funcionando. Nunca apaga
ni borra nada. Siempre que tengas
tu juego funcionando, este se ejecutará todo el tiempo y solo podrás tener una instancia de
juego en el juego. Lo que estamos haciendo aquí es
en la instancia del juego, normalmente
haces el código
para crear un Serva. Al hacerlo, te aseguras de no eliminar toda la información cada vez que crees
el lobby o
cambies de lobby o sales
del lobby y así sucesivamente. Por lo que nos aseguramos de que
la información se haga correctamente sin
interrupción porque de nuevo, la instancia del juego nunca
se apagará. Sigamos adelante y creemos uno. Vamos a darle click
aquí, seleccionar, llamarlo GI por ejemplo de juego, voy a llamarlo el nombre
del juego que
es Counter Strike. Básicamente, solo tenemos
una instancia de juego. Todo el juego que creamos no lo abrió
dentro de aquí. Lo que quiero hacer es
simplemente crear una variable por ahora. Voy a llamarlo mapa de juego
seleccionado. Voy a usarlo más tarde para mi mapa, así que no
te preocupes por ello. Pero para el tipo de variable, quiero seleccionar mapas de juego, la enumeración que creamos, Adelante y compilar ahora lo que podemos hacer en el servidor
create aquí, solo
vamos a obtener una referencia
al modo de juego o instancia de juego, porque necesitamos
la variable aquí Recuerda, al igual que antes, necesitamos crear una interfaz de
blueprint volver
a obtener la referencia, para la interfaz de blueprint, puedes intentar hacerlo
tú mismo para Si no lo recuerdas, sigamos
adelante y hagámoslo muy rápido. Aquí, haga clic derecho, haga un
blueprint, interfaz de blueprint. Vamos a llamarlo
instancia de juego porque esto es a lo que estamos
tratando de hacer referencia. Llamemos a esta función obtener referencia de instancia de
juego. adelante y agreguemos
aquí
una entrada o una salida y busquemos lo que sea a lo que estamos
tratando de hacer referencia. Estoy tratando de hacer referencia
a mi instancia de juego. Vamos a llamarlo
instancia de juego y compilar. Ahora volvamos a la última configuración de la instancia del
juego. Sigamos adelante y agreguemos
esta interfaz que acabamos crear llamada compilación de
instancias de juego. Y ahora ves la
función que acabas de crear. Justo como antes. Tenemos que
definir esta variable. Ya que estamos en
la instancia del juego, voy a escribir self como
referencia para que sepa que esta variable es esta
instancia de juego y compilar. Ahora volvamos al Create
Serva. Ahora podemos usarlo. Vamos a crear esta
variable en el evento start, play. Vamos a hacer clic
derecho aquí. Como estamos en UI, no se llama start play, se llama event construct. Vamos a
darle clic. Ahora tengo que decir Get Game instance, y es este bajo
game Game instance. Ahora tenemos la instancia de juego
predeterminada, pero tengo que decirle que
necesitamos usar nuestra
propia instancia de juego. Ahora podemos usar esta. Obtener referencia de instancia de juego
que acabamos de crear aquí. Bastante conectado. Ahora vamos a dar clic derecho a promover
esta variable S. Y sólo voy a llamar a
esta instancia de juego variable. Pero ahora tenemos la variable de instancia de
juego. Lo que podemos hacer aquí abajo, podemos tomar esta instancia de juego
y dirigir desde aquí. Y ahora podemos elegir esta
variable de mapa de juego seleccionada que creamos. En realidad no quiero
conseguirlo. Quiero configurarlo. Quiero dirigir desde
aquí y decir establecer mapa de juego
seleccionado aquí. Ahora cuando es polvo dos, lo
estamos poniendo en polvo dos. Sólo voy a copiar esto un par de veces aquí
para que pueda usarlo. Se puede conectar esto a estos. Tienen objetivos
para el Infierno. Vamos a
cambiarlo a Inferno, al Mirage, lo vamos
a convertir a Mirage, y para la Oficina, lo
vamos a convertir a Office adelante y
arrastrarlos Ahora dependiendo de
qué opción seleccionen del
menú desplegable, va a establecer la
variable que viene de la instancia
del juego a cualquiera de dos Inferno,
Mirage en Office Y luego podremos usarlo más adelante cuando alojemos o creamos el juego. Tenemos esta información
dentro de aquí. Sigamos adelante y
guardemos todo. Pasemos al siguiente.
25. 3.04 Cómo hacer tragamonedas, idioma y privacidad: Ahora sigamos adelante y continuemos. Volvamos al gran
servidor widgit dentro de aquí. Voy a volver a ir a
la gráfica. Ahora lo que queremos hacer es
obtener la cantidad de slots. Volvamos a la gráfica. Y aquí la cantidad de slots
es básicamente ésta. Nos dejarán renombrarlo
y llamarlo cuadro combinado B, tal como hicimos
para los demás. Para este lo voy a
llamar cantidad de slots. También renombrar los otros
ahora que estamos editando. El siguiente es el lenguaje B
o el lenguaje Servo, puedes llamarlo también
para que sepamos lo que es. El último es la privacidad CB. Ahora tenemos a todos ellos
seleccionarlos todos, hacerlos a variables, así podemos verlos ahora dentro de la gráfica.
Vamos a continuar. Vamos a hacer clic primero en
la cantidad de ranuras. Nuevamente, da clic en este evento. Ahora para el ítem seleccionado, voy a
convertirlo a un entero, que es un valor numérico. Texto a valor numérico. Ahora con este entero
voy a escribir Click Promoted a una variable y
llamarlo cantidad de slots. Así que adelante y
conecta este. Y por cierto, antes de que me olvide, déjame simplemente ir al widget. Reflexiona una vez más,
haz que la interfaz de usuario sea más grande. Es un poco más fácil
para ti verlo. Ahora, promovimos esta variable
entera a la variable
aquí, cantidad de slots. Y esto es simplemente, está aquí. Pasemos ahora
al idioma. Al hacer clic en el
idioma, Bajando, dando clic en la selección, cambiado. Ahora el idioma que sólo
voy a ir aquí mismo, promover éste
a una variable y llamarlo lenguaje Serva. Eso fue por el idioma. Ahora la última es la privacidad. Al hacer clic en la privacidad,
nuevamente en la selección cambió. Ahora por la privacidad, puede ser que
el jugador haya dicho que
es un servidor público
o un servidor terrestre. Con esto, ya que
sólo tenemos dos opciones, voy a hacer una
variable de lingotes llamada use line Como ves normalmente
para los lingotes
agregué en el frente porque
cuando lo arrastras hacia afuera, puedes ver
no puedes ver la B. Esto es útil para cuando
busques aquí arriba Si solo escribes B, entonces aparecerán todos
los lingotes. Ahora para este uso la línea depende de lo que el
jugador haya seleccionado. Vamos a arrastrar de éste y
decir que enciendan la cadena aquí, y ahora enciendan la cadena. Ahora recuerda para la
cadena puedes elegir público o len. Voy a hacer
clic de oído sobre él a dos pines, uno llamado público
y otro llamado Len. Ahora para esta,
saquemos a dos de ellos. Si se elige para que sea pública, esta va a ser falsa porque no
queremos usar len. Si se selecciona len, vamos a establecer esta
variable para que sea verdadera. Podemos usar éste más adelante. Ahora estamos técnicamente terminados. Pero qué podemos hacer ahora, porque habrá un
dólar si no hacemos esto. Y como pueden ver aquí, si hago clic en Reproducir, y cuando creo un Serva, y no selecciono
nada aquí, estos nunca se establecerán. Si hago clic en Reproducir, creo Serva. Simplemente sigo adelante y hago
clic en Crear Serva. Si hago eso sin
cambiar ningún valor, recuerde que solo
establecemos estas variables cuando se cambian
en la selección cambiada. Si el jugador
no cambia nada, todas estas variables
estarán vacías. Así que sigamos adelante y establecemos un valor predeterminado para que
no desconectemos el juego. Lo primero que quiero hacer, así que volvamos y echemos un
vistazo ahora para el servónimo Más adelante vamos a
hacerlo un poco mejor. Por ahora, puede estar vacío
, no importa. El siguiente es el mapa. Vamos a establecer el valor predeterminado del mapa. Tomando este mapa del juego aquí mismo, digamos obtener la opción seleccionada. Ahora a partir de este, quiero establecer el mapa del juego igual que lo que hicimos
aquí abajo, si podemos encontrarlo. Este de aquí, establecemos el mapa del
juego dependiendo de esto. Ahora en vez de
copiar todo esto, puedes ver si copiamos y
pegamos todo esto, realmente no
se ve muy bien. Lo que podemos hacer es que solo
voy a hacer clic en control Z. Qué podemos hacer si hay un
código que tienes que copiar pegar en otras partes
del motor o de tu juego, entonces es mejor
hacer click derecho sobre ellos y
colapsarlos a una función Llamemos a esta función Establecer mapa seleccionado aquí abajo
en el nombre de la variable. Podemos llamarlo
seleccionado así. Ahora podemos usarlo aquí arriba. Arrastre la función que
hicimos, vaya avena y conéctelo. Y conecta este. Es mucho más fácil de usar si duplicas cólico
la función, solo
puedes hacer que se
vea un poco mejor Fuera de la función aquí, de
vuelta a la gráfica principal. Creo que esto es mucho mejor. Lo siguiente que tenemos que
hacer es establecer el valor por defecto
para la cantidad de slots para esta variable que creamos aquí abajo.
Vayamos aquí arriba. Toma la cantidad de slots,
consigue la opción seleccionada. Ahora podemos tomar esta
cantidad de slots. Podemos configurarlo y simplemente
arrastrarlo hasta aquí. Y automáticamente convierte esta cadena en un
entero para ti. Ahora bien, esto también se ha establecido
por defecto. Lo siguiente que queremos establecer es el idioma que tenemos aquí. Volvamos a obtener el idioma
del servidor, obtener la opción seleccionada. Tomemos este lenguaje de
servidor, y vamos a configurarlo así. Ahora lo siguiente que
tenemos es la privacidad. Ahora para este,
realmente no necesitamos configurarlo aquí porque
será falso por defecto, lo
que significa que
será público por defecto. Realmente no necesitamos
subir aquí y establecer esto como aquí porque
ya es falso por defecto, no
necesitamos
hacer nada aquí. En cuanto al nombre del servidor, también
está vacío por defecto. Déjame simplemente dar click aquí
y eliminar esta Sera. Aquí está vacío
y vuelve a compilar. El servidor está vacío por defecto. Realmente no
necesitamos tenerlo
aquí arriba en la construcción del evento. Ahora puedo ver que cometí un error, porque estos realmente
tienen que estar aquí arriba. En cambio, voy a copiar y
pegarlos aquí arriba en su lugar. Y ese es mi error
aquí abajo es el correcto. Porque necesitan comenzar
desde la construcción del evento, que es básicamente la jugada de
inicio para UI. Y así así, ahora los
tenemos a todos. Puedes intentar
juntarlos. No es desordenado así, todo debería
estar bien ahora Ahora ya terminamos
con todo aquí. Vamos a compilar y
saltar a la siguiente lección.
26. 3.05 Programación de la espalda Button: Ahora echemos un vistazo
al botón Atrás. Pasemos al diseñador. Haga clic en él, baje, y aquí, haga clic ahora. Antes de hacer eso, déjame cambiar el nombre para que sepa
lo que estoy haciendo aquí. Este es el botón atrás. Y luego haga clic en
el evento click. Cuando hacemos clic en él,
igual que antes, sólo
voy a minimizar esto. Voy a bajar
a la interfaz de usuario, ir al menú principal, abrir el menú principal. Y sólo voy a copiar
esto que hicimos antes. Voy a pegarlo aquí. Ahora va a ser gris para el
controlador del jugador porque no
hemos definido las líneas de
control del jugador fuera de aquí. Hagámoslo
aquí arriba después de la instancia del juego. Sólo voy a
mover todo
esto así viejo y da click
aquí para desconectarlo. Voy a hacer clic derecho y configurar el controlador del reproductor seleccionarlo. Y arrastre y diga obtener referencia del
controlador del jugador. Y es el de la interfaz
del menú principal que creamos. Ve y selecciona ese
Dios y conéctalo. Ahora hagamos clic derecho, promocione esto a una variable
llamada player controller. Ahora podemos conectar el
resto de las cosas. Ahora tenemos la variable del
controlador del reproductor. Y se puede ver ahora es normal porque ahora lo
hemos definido. Cuando hacemos clic en la parte posterior, quiero cerrar el
create sera don't show. Entonces quiero mostrar el menú
principal así. Da clic en Reproducir, ahora Crear Sera. Vuelvo, se puede ver que ahora
está funcionando bien. Ahora tenemos alguna caja aquí. Puedo ver que dice Access. Tratando de leer la instancia de juego de
propiedad, si hago clic aquí.
Depuremos esto juntos. Ahora tenemos este tema.
Dice acceso ninguno. Cuando dice access none, significa que no
obtiene ninguna información. ¿De qué no obtiene
ninguna información? De la instancia del juego?
De éste. Dice, éste está vacío, lo cual es raro porque ya lo
definimos. Esto está en el servidor de creación. Si vuelvo a la construcción del
evento, puedes ver que la instancia del juego ya
ha sido definida. A lo mejor me olvidé una autorreferencia. Si vuelvo a
la instancia del juego, si acabo de cerrar todo esto, vuelvo a los planos, a la instancia
del juego Aquí le echo un
vistazo a las interfaces. Pero ya hicimos
la autorreferencia. Ahora lo último, la época, podría ser de aquí, es porque me
olvidé de cambiarlo en
el marco del proyecto. Si voy a Editar, vaya
a Ajustes del Proyecto, en vez de aquí, vaya
a Mapas y Modos. Aquí está. Olvidé cambiarlo en la clase de instancia de juego. La instancia de juego
que queremos usar es nuestra propia y no la
predeterminada de Unreal Engine Yo contraataque, entonces
puedo tratar de jugar ahora y ver si consigo una
era volver a creer y así sucesivamente. Ya lo puedo cerrar y
no tengo ningún error. Todo está funcionando bien. Pasemos a
la siguiente lección.
27. 3.06 Crea una sesión avanzada: Ahora es el momento de trabajar con
las sesiones Create Advanced. Vamos ahora en esta lección, vamos a la instancia del juego. Aquí queremos
crear la sesión. Lo que queremos utilizar es el
clic derecho y buscar
Crear sesión avanzada. Este del
enchufe de Steam, es este. Esto puede parecer confuso al principio porque
hay tantas cosas, pero en realidad es
muy fácil de usar. Intentemos
usarlo juntos aquí. Primero, quiero hacer clic derecho
y hacer un nuevo evento personalizado. Para este evento personalizado, lo voy a llamar Serva. Este es el propósito
de este evento. Sigamos adelante y
conectemos éste con él. Ahora para el controlador de reproducción, voy a arrastrar y
decir get controller. Y solo vamos a usar este para los ajustes adicionales. Ajustes adicionales simplemente guarda
algunos ajustes para nosotros que
podemos usar más adelante cuando queramos mostrar el Serva en
el navegador servo. Si arrastro de aquí y digo
que puedes ver make array, ¿qué significa
que rompes las cosas? Si yo, por ejemplo digo get
act transform por ejemplo, y solo elimino esto
y hago clic aquí, se
puede ver que puedo
arrastrar desde aquí y
puedo decir break transform. Puedo dividirlo en una
ubicación, rotación y escala. Esto es lo que es una transformación. Además, puedes ver que si hago clic en algo en mi mundo, y echo un
vistazo a la transformación, consiste en una ubicación,
rotación y escala. Puedo arrastrar de
aquí y decir break. Y puedo romper eso
en la transformación, en los tres valores o
al revés. Si voy por aquí
y no por aquí. Si voy por aquí, no
puedo decir break porque no
estoy rompiendo. Básicamente, estoy haciendo una matriz, es lo que hicimos en esta instancia. Permítanme hacer clic derecho y tomar este contexto
sensible de nuevo, así que solo obtengo
funciones relevantes cuando busco. Ahora cuando hacemos la matriz, podemos arrastrar y luego hacer de nuevo, lo que quiero hacer aquí es hacer una cadena literal de
propiedad de sesión. Porque quiero
guardar el nombre del servidor, sea lo que escriba el jugador. Quiero guardar eso
porque más adelante necesito
usarlo para mostrar los sueros
con el nombre de servidor correcto. Para la clave, voy
a decir nombre del servidor. Ahora para el nombre real del servidor, aquí
es donde el jugador teclea. No quiero
establecer un valor aquí, porque este es el jugador
que establece el valor. Sólo voy a
arrastrarlo al evento aquí, así que crea una variable
automáticamente para mí. Voy a
llamarlo nombre de servidor. Bien, así que ahora
tenemos esta terminada. Lo siguiente, también quiero ahorrar la cantidad de jugadores. Si olvidas lo
que necesitas hacer, siempre
puedes volver
al menú UI Made, abrir el servidor Crear. Dentro de aquí,
puedes echar un
vistazo a qué valores necesitas. Lo siguiente es, por ejemplo, la cantidad de jugadores. Ahora realmente no necesitamos un
plug in porque el mapa,
recuerda en el servidor
create lo que
hicimos es si voy a la función de mapa
seleccionada set, simplemente esta variable de enumeración de
mapa de juego seleccionada, cada vez que el jugador
selecciona el mapa, realidad
tenemos este valor aquí en el mapa del juego seleccionado En lugar de darle a esto
un plug in aquí, lo que podemos hacer es que podamos guardar esta información para más adelante
cuando creamos este servidor. Vamos a presumir de
éste y decir hacer cadena literal de nuevo. Adelante, elige esa. Arrastremos esto
aquí y
automáticamente convertirá tu
enumeración en una cadena Sólo voy a llamar así a este mapa de
un servidor. Ahora también tenemos esa
información. Lo siguiente es la cantidad de
jugadores que se pueden conectar. Y voy a
arrastrar esto hasta aquí, y voy a llamarlo
cantidad de slots así. Lo siguiente es la línea usada. Voy a arrastrar
esto hasta aquí. Podemos simplemente dejar que
se le llame uso de tierra. Eso está bien.
Veamos qué nos olvidamos. Si vuelvo
al servidor Create, tenemos el mapa,
tenemos las ranuras. Nos falta el
idioma ahora mismo. Por el idioma. Yo también quiero salvar eso. Si creo un pin lo arrastre desde aquí y vuelvo a hacer
literal cadena. Yo llamo a este, déjame arrastrar el
control de placa aquí arriba en su lugar. Para este lo voy a
llamar Serva Language. Para el idioma, nuevamente,
el jugador lo elige. Sólo voy a enchufarlo aquí y voy
a arrastrarlo por encima la línea usada y llamarlo
Serva lenguaje compilado. Ahora estamos guardando el
idioma también, la privacidad que somos porque
tenemos esta línea usada. Realmente no tenemos más
información si quieres ahora. Simplemente puedes hacer que las cosas
se vean un poco más limpias al poder hacer clic en
estas líneas aquí. Puedes hacer clic, por
ejemplo, en éste. Presiona Que en tu teclado para
hacerlo recto y así sucesivamente. Así que me voy a
quedar un poco mejor. Muy bien con eso. Terminado. Ahora básicamente terminamos toda esta parte aquí. Las otras cosas está bien, podemos permitir int, claro. También puedes, de nuevo, tener una
opción para eso si lo deseas. Siempre puedes agregar opciones extra si quieres permitir
invitaciones o no. Puede tener una casilla de verificación si
desea configuraciones adicionales. Siempre puedes conectarlos aquí y dejar que el
jugador decida también. Pero por ahora, cuando hayamos
creado el servidor por aquí, lo que queremos hacer es
querer crear los sueros. Queremos unirnos al
mapa que arrastre desde aquí. Y digamos nivel abierto
por referencia de objeto. Ahora puedes seleccionar qué
nivel necesitas abrir. Ahora no tengo
tantos niveles, así que solo voy a usar mi
mapa principal como el predeterminado. Recuerda, el jugador
seleccionó los mapas del juego, tenemos que seleccionar en qué
mapa del juego queremos generar Arrastremos este
mapa de juego seleccionado y arrastremos desde aquí y digamos que enciendan el mapa del juego aquí. Entonces puedes simplemente
enchufarlo aquí. Lo que podemos hacer ahora
es por los dos, podemos abrir el mapa de
dos, el Infierno Podemos subir el
mapa del Inferno y así sucesivamente. Ahora, no tengo
tantos mapas en mi proyecto. Yo sólo voy a
copiar y pegar estos tiempos y abrir
quizá el mismo mapa. Y sólo puedo imprimir un mensaje la pantalla y ver si
he abierto el mapa correcto. Ahora quiero mostrarte
una manera en la que puedes optimizar este código para que
no tengas que hacerlo de esta manera. Voy a borrar
todos esos. Y lo que puedes hacer es usar un nodo selecto. Si arrastras desde aquí
y buscas Select, sigue
adelante y toma el nodo select para
esto aquí en el índice. Adelante, arrastra tu
enumeración aquí abajo. Ahora te dice, si solo conecto todo
esto aquí al sobre el éxito, recuerda, tienes que
conectar el
sobre el éxito y no este. Porque queremos unirnos a la Sera cada vez que
crea con éxito la servera Ahora va a
seleccionar el mapa, dependiendo de cuál sea la opción
que se seleccione aquí en
el mapa del juego seleccionado. Si se establece en Inferno, va a seleccionar
este valor Inferno y tenemos que decirle qué
mapa para el Inferno Sólo voy a seleccionar
mapa Principal para todos ellos. Además, lo que puedes
hacer si lo deseas, solo
puedes seleccionar mapas aleatorios. Sólo puedo abrir
este mapa de escaparate
y abrir este mapa de escaparate de
armas. De hecho, abramos estos mapas
aleatorios que tengo. También el nivel de escaparate de
doc militar o lo que sea. Todos estos. Ahora va a funcionar. Ahora puedes ver que el código
es mucho más limpio que usar el switch on enumeration, lo que nos hace copiar y
pegar este nivel abierto Simplemente podemos hacerlo con uno
usando el nodo select. Y yo sólo voy a
borrar todo esto aquí arriba. Y ahora
básicamente estamos terminados. Esto fue para los sueros de creación. Ahora tenemos todas las opciones que necesitamos para crear los sueros. Pasemos a la siguiente lección y programemos el botón Crear
Servera
28. 3.07 Programación del servidor Button: Ahora estamos de vuelta aquí en
la interfaz de usuario Create Serva. Y pasemos aquí
a la gráfica. Vamos a la gráfica de eventos. Y ahora vamos a codificar el número de botón
Crear Serva. No creo que hayamos creado
una variable para ello. Vamos a hacer clic en el botón,
llamarlo botón, Crear Serva. Puedo deletrear Serva, y es variable. Ahora vamos a hacer clic en él y
presionar el evento sin hacer clic. Cuando hago clic en él, solo
quiero alojar el Serva. Lo que quiero hacer es que quiero
tomar la variable de instancia de juego, ya
tenemos esa
alarde de aquí, y decir crear Serva Vamos a ejecutar el evento create que creamos en
la lección anterior. Para el servoname, sólo
voy a arrastrar en esta variable servoyme que creamos. Así como la cantidad de slots. Lo mismo para
el lenguaje Sera y lo mismo para la línea de uso. Ya terminamos aquí.
Esto debería funcionar. Ahora si hago clic en
Play, creo Serva. Selecciono el nombre, por ejemplo. Aquí selecciono un mapa, lo que quiera. Pongámoslo a público. Si hago clic en Crear, ahora debería
crear el servera Mira, ahora estoy dentro de
cualquier escaparate que creé. Ahora me está mostrando el mapa del
menú principal o la interfaz de usuario del menú principal. Porque no tenemos seleccionados los modos K
predeterminados. Tenemos nuestro menú principal. Pero si solo abro mi
propio mapa que codificé, si solo veo aquí
lo que seleccioné, si abro Inferno, eso debería funcionar correctamente Si hago clic en Plano, y lo voy a
esperar una vez más. Una vez que se abra, esta vez
voy a seleccionar Inferno porque tengo el modelo correcto para ello y voy a crear Serva Sólo voy a dejar que sea en Inferno y luego voy
a crear el Serva Ahora debería estar dentro de aquí, puedes ver que funciona correctamente. Ahora en realidad estoy
dentro de mi juego, puedo jugar como
antiterrorista y ahora en realidad estoy
jugando correctamente. Todo está funcionando
como se supone que debe hacerlo. Este servo de creación ahora
está funcionando. Lo siguiente en lo que tenemos que trabajar es
en el
navegador Servo y así sucesivamente. Pero antes de que hagamos eso,
quiero mostrarte cómo puedes agregar una animación de UI a esta UI para que sea un
poco más interesante. Si no te
interesa crear animaciones de interfaz de usuario, siempre
puedes pasar
a la siguiente lección. Pero si te interesa,
saltemos por encima.
29. 3.08 Adición de animación de Create Server: Bien, sigamos adelante y creamos algo de animación para la interfaz de usuario Para que sea un poco
más interesante. Lo que quiero hacer es
si hago clic en reproducir, quiero que la interfaz de usuario aquí
aparezca en la pantalla y luego también desaparezca cuando haga clic en atrás. Sigamos
adelante y hagamos eso. Agreguemos algo de animación
aquí abajo en el paso de animación, si no la ves, si te
parece esto, siempre
puedes hacer click aquí abajo. Y luego en maquetación para tenerlo aquí
arriba, agregue una animación. Para la nueva animación, voy a llamar,
vamos a darle click. Ahora queremos animar todo
el asunto sólo
para que sea más fácil Por cierto,
puedes hacerlo súper complejo con la animación
y se verá bien. Pero solo para hacerlo un poco
más rápido para este curso, voy a animar
este overlay I, solo
voy a
llamarlo overlay aquí V. Vamos a
llamarlo Create Serva Hagamos clic en Track y
seleccionemos Crear Serva. Por cierto, hay que
tenerlo seleccionado antes de que aparezca. Aquí arriba. Haga clic aquí abajo, transforme aquí. En la transformación, ahora
puedes jugar con las traducciones donde está en la pantalla Para la
y. voy a aumentarlo y moverlo aquí
abajo fuera de la pantalla. A lo mejor 1,500 así, digamos 0.65 Quiero que esto
esté arriba en la pantalla, pero un poco más alto de
lo que normalmente es Tal vez 150 menos 150. Entonces después de 1 segundo, va a decir cero, la animación ahora está fuera de pantalla. Y aparece en la pantalla, sube un poco
más allá de lo habitual, y luego va a
la pantalla así. Sólo un efecto muy simple. De nuevo, dije que lo haces
más complejo porque puedes animar cada botón
y texto si así lo deseas Pero por ahora, aquí solo tenemos
esta animación. Siempre que jugamos en reversa,
va a volver. Esto es cuando juegas
el botón Atrás. Bien, ahora tenemos esto terminado. Vamos a compilar y
guardar todo. Lo que podemos hacer ahora en la gráfica, vamos a repasar por aquí y codificarlo. Siempre que abramos
el Serva create aquí, cuando comencemos en la construcción del
evento, movamos todo esto. Voy a tocar la animación. Vamos en la pestaña de animación, tomar el crear Servo anim
y decir Play Animation Adelante y elige
eso conectado. Ahora para la animación de reproducción
número de bucles. Yo sólo quiero que juegue una vez. Si tienes un loop,
quieres jugar por tiempo indefinido
, ¿verdad Cero. Vamos a hacer clic en el control Z. Uno está bien para mí.
Eso se ve bien. Permítanme acercar
todo esto. Ahora, cada vez que hacemos clic en
el botón Atrás aquí abajo, quiero reproducir la animación. Solo alejemos
todo esto. Toma la animación
una vez más animación. Y vamos a conectarlo. Ahora dentro de aquí, la
cantidad de flupes es una. Pero en el modo play lo
voy a jugar al
revés ahora en vez
de simplemente quitarlo, porque ahora se puede ver que en realidad
tenemos un bug. Si vuelvo a reproducirlo
en el nuevo modo editor, creo un sera y vuelvo, ahora puedes ver que no está
reproduciendo la animación. Y esto se debe a
que lo estamos quitando de la pantalla instantáneamente después de
que iniciemos la animación. En lugar de hacer esto,
vamos a copiar esto por aquí y decir obtener la hora de fin. Estamos consiguiendo la hora de finalización y vamos a agregar un retraso. Agrega un retraso por la cantidad de tiempo que lleva
reproducir esta animación. Y déjame alejar todo
esto conectado. Ahora vamos a compilar
y dar clic en Reproducir. Y pruébalo por Serva. Aparece por click, Vuelve. Se quita así. Impresionante. Ahora también tenemos
una animación de aspecto genial
en nuestro juego. Si quieres
reproducirlo un poco más rápido, siempre
puedes cambiar
la velocidad de reproducción. Voy a cambiarlo a
1.1 en vez de solo uno. Es un poco más rápido y puedes intentar retocar
esto como quieras Bien, creo que
todo se ve bien. Así que vamos a guardar todo y pasemos
al siguiente.
30. 4.01 Creación de un widget en el navegador de servidores: Sigamos ahora y creamos
los widgets del navegador Serva. Veamos bien en
la interfaz de usuario del menú principal. Ahora voy a ir un
poco más rápido de lo habitual, porque ahora tenemos
experiencia en esto. Vamos a crear la interfaz de usuario.
Llamemos a este navegador Serva. Antes de hacer nada,
vamos al menú principal del jugador. Abre el
controlador del reproductor aquí. Vamos a agregarlo al widget
que creamos anteriormente. Si vuelvo a abrir el
widget show, hago clic derecho y
digo crear widgets. Sigue adelante y crea
el navegador del servidor aquí que acabamos de crear. Promocionarlo a una variable
y llamarlo navegador Sera. Sólo necesito deletrearlo
correctamente. Bien, así. Arrastremos de esto y
digamos Agregar a la ventana gráfica. Vamos a golpear el navegador del servidor, hacer clic
derecho y convertirlo a un obtiene validado
si no es válido, vamos a
crearlo si es válido. Sólo vamos a seguir adelante
y agregarlo a la ventana gráfica. Arrastremos este
navegador de servidor aquí también. Nuevamente, ponlos juntos, haz que se vea bien. Ahora saltemos
al widget hide. Arrastre el navegador sera, conviértalo a un get validado. Entonces otra vez, retírelo de erens. De esta manera podremos eliminarlo de
la pantalla si es necesario. De nuevo, moviéndolos
juntos, se ven bien. Compilar y guardar. Ahora hemos creado esto. Asegurémonos de que
todo esté funcionando. Asegurémonos,
volvamos al menú principal. Echa un vistazo al navegador
Servo, en
realidad al navegador Servo. Echemos un
vistazo al menú principal. Siempre que hago
clic en el sera conjunto, cierra el menú principal y abre
el navegador Servo. El código que hemos hecho
ya en el menú principal. Permítanme agregar una imagen aquí
para asegurarme de que esté abierta. Cuando hacemos clic en él,
solo agrega una imagen aquí. Cambiemos el
tinte para que no volvamos a quedar cegados de esto Si hago clic en Play, Join Servo, lo va a abrir aquí. Y no compilé
esto. Me cegó. Permítanme simplemente borrar esto por ahora. Está funcionando perfectamente. Vamos a guardar todo, y
pasemos al siguiente, donde diseñamos
el navegador Servo.
31. 4.02 Diseño del widget del navegador de servidores: Bien, para diseñar
el navegador del servidor. Vamos a abrirla para ésta. Yo sólo, de nuevo, voy a mostrarte lo que vamos a hacer. Lo tienes visualmente y es
mucho más fácil de comprender. Esto es lo que estamos tratando de hacer. Estamos tratando de tener una barra superior aquí donde podamos
buscar un servidor. Podemos elegir el
idioma, el servidor terrestre, podemos ocultar servidores completos y también podemos
refrescar los servidores. Entonces tenemos los servidores aquí
abajo en una lista. Y eso es simplemente todo. Puedo ver que
también nos falta un botón de retroceso para este. Así que siempre podemos seguir
adelante y agregar un botón de retroceso aquí arriba,
o tal vez aquí abajo. No importa,
vamos a averiguarlo. Pero esto es lo que estamos
tratando de diseñar. Déjame arrastrar
esto a un lado y empecemos de nuevo. Necesitamos un panel de lona
para comenzar aquí. Entonces tenemos una caja vertical porque tenemos dos elementos uno
encima del otro. Primero, necesitamos una superposición, porque necesito una
imagen de fondo para mi UI. Vamos a arrastrar
esto y anclar la caja vertical a
la alineación media. 0.50 0.5 y la posición 20.0 Ahora esta
caja vertical está en el medio Ahora para esta superposición,
en realidad vamos a hacer que
la caja vertical un poco más grande y cambiemos
la posición a cero. Una vez más, tenemos algo de
espacio para trabajar. Ahora para esta superposición, necesito
agregar una imagen porque necesito un fondo o mi
UI para esta, agreguemos uno de
los fondos. Si voy a las imágenes, solo
voy a agregar lo que
usamos anteriormente,
este panel azul. Voy a agregarlo. Voy a
dar click sobre esta superposición. Todo está bien
en la superposición, así que voy a dar
click sobre la imagen, y la voy a alinear
horizontal y verticalmente. Ahora se ve
borrosa porque de nuevo, tenemos que ir al crudo como caja dos y subir
0.5 en el margen Esto hará que se
vea mucho mejor. Ahora, siempre podemos cambiar el tamaño de éste,
este overlay aquí. Pero en lugar de hacerlo, agreguémosle contenido. Y esta imagen de fondo se
ajustará y quedará genial aquí. Quiero agregar una caja horizontal, porque necesito agregar todos
mis elementos en ella. Ahora, agregando una caja horizontal
con esta caja horizontal, voy a
alinearla al centro verticalmente. Pero voy a alinearlo todo el camino al otro
lado horizontalmente. Entonces toma todo este lugar. Vamos a agregarle algunos elementos. Entonces se ve mejor
si solo vuelvo a la interfaz de usuario y al menú principal y simplemente copio el texto
aquí desde el menú principal. Porque realmente no necesito
recrear el control C. Vuelve aquí en la
caja horizontal control V para pegarlo Ahora para este texto, voy a cambiar el tamaño a 16 en su lugar. En cuanto al espaciado por aquí, voy a agregar un espaciador
antes de agregar el bardo de entrada. Añadiendo un espaciador
aquí arriba para el espacio, voy a
darle 15 en la x. luego voy a volver a
la puerta I que creamos. Y yo sólo voy
a copiar éste, volver el control V a la caja horizontal. Lo
tenemos dentro de aquí. Ahora para esta caja, se
puede ver que llena toda
la pantalla o toda la imagen de fondo. Lo que podemos hacer ahora
es que siempre podemos hacer clic en el cuadro horizontal. En el relleno, intentemos darle un poco de relleno
a la izquierda, le
voy a dar
un cuadro de 30, y a la derecha le voy a dar un padding de 30 también. A la parte superior, le voy
a dar un acolchado de 20 a la parte inferior 20 también. Tenemos algo de espacio para
trabajar aquí para este texto. Puedo ver que está un
poco levantada y esto es porque la hemos copiado
y tiene un relleno. Voy a escribir cero en el relleno.
No tiene nada. Ahora bien, creo que la altura de esta barra de entrada
es un poco demasiado alta. Sólo voy a
reducir el tamaño. Recuerda en el
acolchado de aquí abajo, siempre
puedes cambiarlo de 20 a tal vez algo así como 12. Creo que
ahora se ve un poco mejor por el tamaño de la misma. Realmente no tenemos que
preocuparnos por eso por ahora. Simplemente podemos hacer clic en Llenar aquí. Ahora va a
llenar toda el área. Pero nuevamente, esto se debe a
que necesitamos agregar más elementos. Y va a
ser mucho más pequeño. De nuevo, voy
a añadir un espaciador. Duplicar este control
D, basarlo aquí abajo. Voy a establecer la talla en 35. Entonces voy a
copiar este texto. Déjalo caer. Llamemos a esto, el siguiente es el
idioma del idioma. Ahora volvamos
a la creación de sueros. Voy a copiar el cuadro de
idioma aquí, control control trasero V. Se
puede ver que hay mucho copiado pegando aquí
para este espaciador Yo
también lo voy a copiar. Pasado aquí abajo. Ahora tenemos esta lista otra
vez para este lenguaje. De nuevo, haz clic en Rellenar. Llena igual que
esta barra de aquí. Ahora volvamos a copiar este texto. Pasado aquí abajo. Para este, llamémoslo. Sólo servidores, sólo va
a mostrar los servidores terrestres. Agreguemos este espaciador aquí abajo. Lo siguiente que debemos agregar es la casilla de verificación que no
hemos creado antes Busquemos
Raqueta Checkbox en aquí, en la caja horizontal Ahora para esta casilla de verificación, si solo me acerco para que realmente
puedas verlo para esta casilla de verificación, hagamos clic en el
estilo para el estilo Por defecto está desmarcado.
Imagen sin marcar Solo echemos un
vistazo a nuestros botones aquí. Botones. Ahora he hecho éste para ti,
llamado casilla de verificación. Haga clic y
arrástrelo aquí así. Y lo mismo
antes de hacer eso, en realidad, antes
de copiarlo, echemos un vistazo al tamaño. Ahora por la talla,
voy con 40 por 40. El tamaño de la casilla de verificación es
un poco más grande para el color. Se puede ver que está un poco oscuro. No se parece a esta. Aquí es mucho más oscuro. Al hacer clic en él,
voy a cambiar el color de primer plano
en lugar de heredar, quitar esto,
hacerlo blanco así Haga clic, bien, ahora
es el color verdadero. Así que continúe y mantenga presionada la
tecla Mayús y haga clic derecho, y luego mantenga presionada la tecla Mayús y el
clic izquierdo para pegarlo
en todos estos. Ahora debería ser correcto. Ahora déjame copiar estilo para la
imagen desmarcada en la parte superior del hoverd Y presionado para el hoverd, voy a cambiarlo a
rondado por el presionado Voy a cambiarlo para presionar
esto debería ser correctamente. Vamos a minimizar todo esto ahora. También tenemos la imagen comprobada. Sigamos adelante y echemos
un vistazo. Y es aquí. Si solo lo presumo de nuevo, voy a cambiar el
tamaño del mismo a 40 por 40, entonces voy a
copiarlo a los otros dos Cambia el segundo
al tesoro seleccionado, el último a la prensa
seleccionada Ahora los tenemos a todos. Siempre puedes probarlo
haciendo clic en un servidor Play and Joint.
Y entonces puedes intentar echarle un vistazo a
éste y ver si está funcionando correctamente y
si todo está bien. Volvamos. Agreguemos un espaciador por aquí también.
Voy a copiar esto. Da clic aquí, controla
V para pegarlo, y pega este espaciador. Ahora hagamos lo
mismo por aquí. Voy a copiar este espaciador. Pégalo por aquí.
Y luego vamos a copiar, en realidad se puede ver más allá del espaciador en la parte superior
de esta casilla de verificación. Es por ello que
a veces suelo hacer clic en esta caja horizontal de aquí y pegarla para asegurarme de
que la pegue correctamente Para este texto,
peguémoslo también. Llamemos a esto servidores
de texto de caída. Vamos a copiar el
espaciador una vez más, copiar la casilla de verificación pasado Vamos a copiar el
espaciador más grande aquí, pasado. Ahora, aquí vamos a
tener el botón de refrescar. Volvamos al menú principal. Voy a copiar este, control C. Voy a
volver al servidor, control de
navegador V.
Ahora lo tenemos. Llamemos a este texto fresco. Todo se ve
bien, así como así. Ahora vamos a hacerlo un poco más grande. Voy a dar click
sobre estos, para que
pueda ver las líneas discontinuas Para que pueda ver mi botella aquí. Y sólo voy a
hacerlo un poco más grande así. No llenando toda la pantalla, sino simplemente dándole
algo de espacio también. Entonces algo como esto aquí para este botón,
puedo ver que es diminuto. Y esto también se debe a que para esta superposición para el botón,
tenemos algo de relleno. Voy a escribir
cero en el relleno, así que se vuelve un poco más grande. Y ahora se ve mucho mejor para este acolchado o para
el espaciado de aquí. Voy a darle un
espaciado de 50 en su lugar. Entonces hay un poco más de espacio para el tamaño de esta caja de entrada. De nuevo, voy a
hacerlo un poco más pequeño, ocho por ocho en
la parte superior e inferior. Entonces se vuelve más pequeño, pero como puedes ver,
en realidad se está llenando verticalmente. Entonces voy a hacer click en
este medio. Ahora es demasiado pequeño, así que voy a aumentar
esto de nuevo a 12 por 12. Y eso es un poco demasiado pequeño, así que tenemos que
aumentarlo mucho más. Tal vez 20 por 20, y eso es mucho
mejor, 20 por 20. Pero la alineación está aquí,
alineada en el medio. Bien, ahora ya terminamos
con esta parte de aquí arriba. Lo que quiero que
hagas ahora es aquí abajo. Ahora esta fue la primera superposición. Ya tenemos
esta caja vertical. Voy a añadir una superposición otra vez encima
de esta caja vertical. Ahora está debajo de esta parte superior. También voy a añadir un espaciador, así que espaciamos estos
dos para el espaciador. Voy a darle un valor
de 15, haciendo clic en él, valor de 15 en la
Y para esta superposición. Nuevamente, agrega una imagen aquí para la imagen que voy a usar de
nuevo, el panel azul. Si voy a imágenes, encuentro el panel azul, arrástralo de nuevo, para esta imagen,
quiero llenar todo el asunto. Ahora para esta superposición, en lugar de solo
llenar esta parte, voy a dar click sobre
esta superposición y llenar el resto de la interfaz de usuario
para esta imagen. De nuevo, voy
a ponerla en la casilla
0.5 para que se vea mejor.
Y aquí está. Dentro de esta superposición, lo que necesitamos es que necesitamos
una caja vertical en Editar. Dentro de esta
caja vertical, también necesitamos una caja en una caja de desplazamiento. Para esta caja vertical, haz que se llene vertical
y horizontalmente. Para la caja de desplazamiento,
todo está bien. No necesitamos cambiar nada
ahora para el agregado aquí para el cuadro vertical
porque no quiero agregar elementos al borde
de este fondo. Para el relleno izquierda y derecha, voy a dar
35 por 35 y arriba, le
voy a dar 28 por 28. Tenemos algo de espacio y
cada vez que
añadimos contenido, lo agregamos dentro de aquí
y no encima de ahí. Bien, antes del cuadro de desplazamiento, necesitamos un
cuadro horizontal porque necesitamos agregar algo de texto haciendo eso. Y después voy
a añadir un espaciador. Dije el espacio más tarde. Por ahora, vamos a
diseñarlo aquí arriba. Voy a copiar este texto. Bajar a mi caja horizontal. Da click en el control V para pegarlo. Ahora para este,
va a decir nombre del servidor. Entonces voy a hacer clic de nuevo en Control V un
par de veces. Copio este texto aquí
un par de veces. El primero se
llama nombre de servidor. Entonces necesitamos el mapa. Necesitamos a los jugadores, cantidad de jugadores que
están dentro del servidor. Al último se le llama
cuánto le gusta, ahora, cómo debería ser. Realmente no sabemos en este momento porque necesito
alinear estos textos, sea cual sea el servidor que esté aquí, como qué tan grande es, y así sucesivamente. Así que en realidad no podemos diseñar el espaciado entre
esos en este momento. Solo paremos aquí,
guardemos todo, asegurémonos de que todo funcione. Antes de cerrar
esto, podemos unirnos, puedes escribir cosas aquí, puedes cambiar el idioma, puedes marcarlas. También puedes hacer clic
en la actualización, y todo se
ve genial ahora para el tallado y
todo lo demás. Podemos continuar más tarde. Pero por ahora, necesitamos
diseñar el propio servidor antes de que podamos terminar
la pieza Aquí abajo. Cerremos todo por ahora. Y saltemos
a la siguiente lección.
32. 4.03 Diseño del widget de tarjeta de servidor: La interfaz de usuario final
que vamos a diseñar se ve
algo así. Aquí tenemos el idioma y tenemos el
nombre del servidor, y tenemos el mapa. ¿Cuántos jugadores hay en los sueros? Y también el ping para los sueros. La razón por la que diseñamos la tarjeta del servidor por
sí misma y no dentro
del navegador del servidor es
porque esta es una lata. Contiene valores dinámicos, igual que si creas una tienda. Entonces digamos que
tienes un juego de rol y tienes como
una tienda de artículos, el yo, la tienda de artículos,
puedes diseñarlo. Sin embargo, las tarjetas individuales para los artículos en realidad están
diseñadas por sí mismas porque realmente no necesitamos copiar y pegar cada Cod entonces hay mucho copiar y pegar y
no es realmente bueno,
es mucho trabajo Lo que podemos hacer es
crear un artículo Cod. Entonces podemos simplemente cambiar
el valor dinámicamente y copiar pegado
a través del código aquí En este caso, estamos
creando un servidor. El servidor que estamos
creando dinámicamente, lo vamos a agregar dependiendo de lo que el jugador haya agregado como valores. Entonces se va a
sumar aquí abajo. Sigamos adelante y diseñemos
este. Déjame un poco más, vamos a cerrar
todo esto por ahora. Hagamos clic derecho, hagamos
un nuevo budge, blueprint. Llamemos a éste Serva. Ahora vamos a abrirlo
dentro de aquí. Volvamos a buscar panel de
lona. Vamos a agregarlo. Ahora para esto, voy a
cambiar deseado en pantalla, tamaño de
pantalla,
asegúrate de que sea de nuevo, para laptops, estamos
diseñando esto. Ahora lo que quiero
diseñar aquí, primero necesitamos un fondo
y necesitamos el botón. Sólo voy a volver
al menú principal. Adelante y copia esto primero. Botón de control C, control
V. Ahora para esta superposición, voy a cambiar el
punto de anclaje para que esté en el medio. Después la alineación, 0.50 0.5
y posición Y, X e y00. Ahora en cuanto al tamaño de la misma, siempre
podemos decidir
eso más adelante porque
puedes cambiar el tamaño de
la superposición así. De nuevo, hay que hacer una
00, otra vez, la X y la Y. Pero por ahora, no
nos preocupemos por la talla. Solo cambiemos el contenido. Lo que quiero primero es la bandera, porque quiero
mostrar en qué idioma está
el servidor
tomando una imagen. Yo sólo voy a
agregar iconos aquí. La imagen está antes del texto, y va a estar aquí
en el medio, verticalmente. Antes de hacer eso, pueden
ver que están uno encima del otro porque no hemos
agregado un cuadro horizontal, buscando un cuadro horizontal, agregándolo aquí abajo, agregándole la imagen y
también el texto a él. Ahora en cuanto al cuadro horizontal, voy a alinearlo en
el medio y luego rellenarlo horizontalmente para el texto voy a alinearlo
al medio. Retira todo el
acolchado que tenga. Entonces corriendo cero aquí, compile Ahora para este icono. Aún no tenemos íconos. Ahora esto es para mi juego, pero para las banderas, porque necesitamos los idiomas, quiero que entres en tus materiales del curso
que te di. Dentro de los materiales de este curso, vaya a la interfaz de usuario y tenemos
iconos dentro de aquí. Yo sólo quiero que tomes estos, los
arrastres al juego,
y aquí los tenemos. Ahora para esos,
voy a escribir haga clic en Editar Selección
en Matriz de Propiedades. Por lo general siempre es bueno
en los detalles de nivel. Para cambiar el grupo de
texturas a UI, se lee correctamente
y los botones o la IU se ven bien en
la compresión también. Para la compresión
lo
voy a cambiar a interfaz de usuario dos D. Ahora solo hace falta
escribir click y editar
vía matriz de propiedades. Si estás editando
varios elementos a la vez. De lo contrario puedes simplemente, si solo
tienes un elemento, puedes hacer doble
clic en él, abrirlo, y luego puedes cambiar los ajustes de
compresión a lo que hicimos ahora mismo y
el grupo de texturas también. Bien, ahora tienes
eso. Volvamos a la interfaz de usuario que estamos diseñando
dentro de aquí. Vamos a hacer clic en la imagen. Permítanme hacer clic aquí
y buscar el icono. Solo agreguemos uno de los íconos. Realmente no importa.
Nuevamente, se trata de valores dinámicos, los vamos a
cambiar más tarde. Ahora para la caja horizontal, solo para que se
vea un poco mejor. Ahora vamos a hacer clic en la superposición. Solo hazlo un poco más grande para que tengamos algo de
espacio para trabajar. Y acertó a cero en la X aquí para el
cuadro horizontal a izquierda y derecha. No quiero que
esté aquí en el borde. Voy a darle un poco de
relleno a la izquierda, 25, derecha 25, algo
así. Por la talla y. para la Y, voy a dar una talla de
104, a lo mejor algo así. A lo mejor eso es demasiado grande. Siempre podemos hacerlo un poco más pequeño y podemos
probarlo más tarde. Pero por ahora, esto está bien. Pongamos la posición a cero. Ahora, el primero
es crear servidor. Agreguemos un espaciador entre
la bandera y el texto. El espaciador para este
es 15 y el x. Ahora este es el servidor. Vamos a llamarlo un nombre de
servidor aquí. Sólo voy a decir,
por ejemplo, servidor. Podemos, por ejemplo, decir Inferno sólo porque esto
es lo que estamos jugando Digamos chino porque
es un servidor chino. Digamos que se le
llamó algo así, de manera realista Ahora, después de eso, necesitamos el
tipo de mapa que estamos jugando. Yo sólo puedo controlar
esto para duplicar. Y puedo decir, por ejemplo, estamos jugando dos
de un strike. Y vamos a duplicar
también el espaciador. Agrégalo aquí abajo. Ahora el problema de
agregar un espaciador aquí, vamos a hacer esta
superposición un poco más grande. Yo sólo voy a darle
un poco más de espacio y luego reposicionarlo en la X.
Ahora el problema es con agregar
un espaciador aquí ahora es que si
escribimos un Servoname más largo,
alejemos No quiero hacer eso porque dentro del navegador del servidor, tenemos estos establecidos en
una posición fija. Si esto se está alejando, no
va a alinearse
con el título del mapa aquí. La forma en que hacemos esto,
en lugar de un espaciador, hacemos clic en el texto. En cambio, le das un ancho mínimo
deseado por aquí. Adelante y
aumenta el ancho mínimo deseado a
algo que te guste. Se puede ver que
aún no está cambiando porque es
más largo que eso. Pero si llegas
a cierto valor, comienza a alejar
el otro texto. Para éste, le voy a
dar un valor de 685. Lo probé un poco, y
el otro valor aquí, voy a dar 225. Solo tienes que darle un
valor donde estés asegurándote que este ancho sea
mayor que lo que es el nombre del servidor. De lo contrario se va a sacar el balón. Ahora tenemos esto.
Lo siguiente es que vamos a duplicar este texto y vamos a escribir
la cantidad de jugadores. La cantidad de
jugadores por ejemplo, podría ser de 100 jugadores
conectados y 100 jugadores como máximo dentro del
servidor. O éste. Voy a hacer
el ancho un poco más pequeño porque
realmente no necesitamos todo esto. A lo mejor 115, lo último, vamos a duplicar
éste y llamarlo. Ahora voy a agregar
un espaciador porque mínimo no me está
dando suficiente espacio. Entonces voy a agregar
un espaciador aquí arriba. Voy a agregar los espaciadores
a la caja horizontal. Ponlo aquí
para este espaciador, voy a dar
algo como 150. Ahora para este ping,
voy a escribir, por ejemplo,
algo así. Ms, este es un servidor muy rezagado. Para el mínimo diseñado con. Sólo voy a dejar que sea
al 115. Eso está bien para mí. Ahora vamos a compilar, y ahora agreguemos esto
al navegador del servidor para que podamos ver
realmente cómo se ve. Busquemos aquí arriba WB. Y puedes
buscar el código del servidor. Y puedes hacer clic y
arrastrarlo encima del cuadro de desplazamiento. Si haces clic y
lo arrastras al cuadro de desplazamiento, así es como se verá. Ahora si haces clic
en las líneas de guiones para eliminarlas,
quiero llenarlo. Se puede ver que tiene algún espacio vacío a los
lados aquí y aquí. Tenemos que
alargarlo un poco para que encaje. Si subo aquí a la superposición y le doy un
vistazo al tamaño de la superposición, probemos algo así como 1,650
Compile y echemos un vistazo Ahora bien, así es como se ve ahora. Antes de agregarle más espacio, también
sé que
habrá una barra de desplazamiento. Si hago clic en el cuadro de desplazamiento, voy hacia abajo y hago clic en Mostrar
siempre
cuadro de desplazamiento, estará aquí. Ahora para el tamaño, sólo
voy a aumentarlo aún más,
mil 690, tal vez compilar
y echar un vistazo de nuevo Ahora lo llena todo. Y tenemos espacio
para la parte de pergamino. Siempre podemos hacerlo un
poco más pequeño si es necesario. Ahora lo que podemos
hacer, puedes ver que
tenemos un poco más de
espacio para trabajar. Entonces puedo dar click en esta y puede
hacerla
más grande, esta también. Podemos tratar de hacer todos
estos más grandes si queremos. click sobre este texto, voy a hacerlo más grande aquí en el ancho
mínimo de diseño. Realmente no necesito que los
otros sean más grandes. A lo mejor el mapa uno puede ser
250 más el otro, este, el nombre del servidor
es el más importante. Solo asegúrate de no
empujarla demasiado lejos. Algo así. 965 aquí, eso se ve
bien para la bandera. Creo que es un poco para empujar hacia abajo, así que voy a hacer clic en la
bandera y darle un relleno. En la parte inferior de dos
se empuja un poco hacia arriba. También para toda la caja
horizontal, lo que podemos hacer es que podemos hacer clic en la
caja horizontal en la parte inferior, darle un relleno de cuatro. Se empuja
un poco hacia arriba así. También podemos
hacerlo un poco más grande. Haga clic en la superposición.
Voy a hacer esto un poco más grande. No mucho. Algo así aquí. Creo que se ve genial. Ahora para el texto, voy
a hacerlo un poco más pequeño. Seleccionar todo el texto y el tamaño debe ser
algo así como 16. En cambio, todo
se ve bien. Vamos a compilar haciendo
clic en la superposición, asegurándonos de que la posición
es 00 y la x e y , luego volviendo al navegador
del servidor. Y ahora podemos echarle un
vistazo a cómo se ve. Se ve mucho mejor si controlo D para
duplicar los servidores. Así es como se verá. Ahora necesitamos un poco de
relleno en la parte superior e inferior para los botones porque
realmente no se ve bien. Volvamos a la
tarjeta del servidor y hagamos clic en un botón. Voy a arriba y abajo, dale un relleno
de cinco a cinco. De nuevo, voy
a hacer el botón un poco más grande porque
ahora es un poco más pequeño. Simplemente haciendo el botón más grande como esta posición
cero en la y. otra vez, compilar, volver, y ahora así es
como se ve, ahora se ve mucho mejor. Ahora podemos realmente
alinear los de
aquí arriba para la caja horizontal. Voy a empujar
este serverame. Está por encima de ésta. Voy a darle un
relleno a la derecha, a la izquierda, en realidad
75, algo así. Ahora se ve mucho mejor
a la derecha aquí. En lugar de ir
hasta aquí, voy a
darle un relleno de 20 después del nombre del servidor nuevamente, solo
podemos cambiar
el ancho deseado, solo hacerlo más grande
y alejar todos
los demás textos hasta
que esté encima de aquí. Yo sólo voy a
acercar, asegurarme de que
esté alineado correctamente,
965 así. Da click en el mapa, ahora cambia
el ancho mínimo deseado, hazlo jugadores más grandes, uno está por encima del otro, 1250. Al hacer clic en los
jugadores nuevamente hazlo log p está por encima del ping 265. Este
realmente no necesita uno. Puedes agregar si quieres. Tiene algo de ancho, no falla,
tal vez solo 95. Ahora puedes ver que se
ve mucho mejor. Agreguemos un espaciador entre
el título y los servidores. Veamos si en realidad
agregamos el espaciador. No lo hicimos. Voy a buscar
a Spacer. Está por aquí en las
superposiciones, así que hago clic en él. Tenemos esta caja horizontal. En el cuadro de desplazamiento, necesitamos
agregar un espaciador entre esos. Y en la Y aquí, va a ser tal vez
algo así como diez. Aún más pequeño, podemos
hacerlo más pequeño. En vez de diez,
podemos hacerla seis. Ahora podemos compilar ahora, se ve muy bien. Antes de hacer nada,
cambiemos también la barra de desplazamiento porque en realidad
no se ve
bien en este momento. Además, cuando duplicas muchos
de los servidores, puedes ver que se va fuera la pantalla y el
cuadro de desplazamiento no está funcionando. Esto se debe a que en
el cuadro de desplazamiento, que hacer clic aquí
y establecer el tamaño a llenar. Cuando lo configuras para llenar, puedes ver ahora que en realidad está funcionando. Si hago clic en la parte
más baja aquí, servidor, se puede ver que
en realidad está rodando correctamente. Eso está funcionando. Recuerda
configurarlo para que se llene. Ahora arreglemos el cuadro de desplazamiento. Si hago clic en el
cuadro de desplazamiento y le echo un
vistazo al estilo de barra aquí para
la imagen normal del pulgar, voy a echar un
vistazo a lo que tengo. Si voy a las imágenes, voy a tomar esta barra de
progreso llenar amarillo. Voy a dar click y arrastrar
esto, esta imagen aquí. No creo que tenga
una mejor imagen. A lo mejor éste, pero
creo que éste es mejor. Voy a usar esa
como caja 0.5 en el margen. Entonces voy a
cachorro pegar esto en. El descarado y el arrastre. Para el arrastre, no
tengo una imagen separada, solo
voy a cambiar
el color a un poco. Daca, cuando droll box para
el grosor de la barra de desplazamiento, voy a aumentar este a algo así como
32 También para el relleno, necesitamos darle
un poco de relleno para que no se superponga. Si abro esto, puedo escribir seis a la
izquierda, a la derecha. Realmente no necesitamos, así que aquí solo
voy a
escribir cero. O el top es dos. Para el
fondo es dos está bien también. Ahora puedes ver
que también se superpone con nuestros servidores. Tenemos que arreglarlo.
Volvamos a la tarjeta del servidor y tenemos que
hacerla un poco más pequeña aquí. Echemos un vistazo aquí.
Tenemos que hacerlo un poco más pequeño. Se puede ver también
en el otro lado. Pero en vez de
hacerlo más pequeño, lo que podemos hacer es hacer
clic en este cuadro vertical. Y podemos simplemente
aumentar el tamaño aquí. Aumentar el tamaño de la caja vertical también
funcionará. Como puedes ver si
habilitas las líneas de trazos, aún
estás dentro de la pantalla. Intenta que se vea bien
lo mejor posible. Y creo que algo como
esto aquí también por el tamaño en la X e Y o
en la Y o mejor dicho, puede hacerla un poco más grande
también, se ve mejor. A lo mejor podemos mostrar
algo así aquí, o nos detenemos así, porque a veces me
detengo en el medio, el jugador en realidad puede ver que
hay más
servidores aquí abajo. Puedes desplazarte
por la posición. De nuevo, voy a
ponerla a cero por cero. Y aquí tenemos el navegador del servidor junto
con el servidor aquí, cual cambiaremos los
valores de dinámicamente. Ahora todo está diseñado
y funcionando correctamente. Vamos a hacer clic en Play y
en Joint Sera. Puede hacer clic en el servidor. Todo está funcionando bien. Tenemos el sonido, el
sonido aquí también. Podemos marcarlas.
Este está funcionando. En éste podemos escribir. Todo está funcionando
como se espera que lo haga. Así es
como se ve, por cierto, en mi monitor de cuatro K, Y así es
como se ve en el portátil. Se puede ver en el portátil, casi llena toda
la pantalla. No obstante, para mi monitor de cuatro K, se ve así. Nuevamente, siempre puedes
escalarlo más haciendo click aquí abajo. Y luego puedes jugar con
esta configuración de escalado y hacer que también se vea más grande
en mi pantalla. Ahora si lo deseas,
siempre puedes hacer un botón de retroceso. Hagámoslo realmente rápido. Si acabo de copiar este botón
aquí, solo lo copio. Control C, hago clic
aquí, estoy de vuelta aquí. Control V, dentro de
esta caja horizontal. Voy a arrastrarlo hasta aquí. Yo solo voy a decir atrás aún mejor a veces
para el botón Atrás, siempre se
puede tener
un como un icono que no tome
espacio para esto de vuelta. Voy a hacer un espaciador
otra vez, el control por aquí. El control V aquí abajo. Y sólo voy a
arrastrarlo por aquí. Ahora tenemos espacio
entre esos también. Ahora para este botón de aquí, en lugar de hacerlo
así de grande para que no
ocupe demasiado espacio, siempre
puedes hacer clic en auto en la superposición en
lugar de llenar. Y luego con el texto, puedes darle un poco de
relleno a la izquierda y a la derecha para que no se
vea tan diminuta. La izquierda,
le voy a dar un relleno de digamos 15 y derecha 15,
Dale un poco más. Vamos a darle 25,
25, incluso un poco más. 30 por 30, algo así. Incluso puedes
hacerlo un poco más grande, vamos a
hacerlo un poco más grande. No es difícil presionar 35 por 35, algo así. Ahora puedes ver que el
botón Atrás también está funcionando, y puedes hacerlo de otro
color si así lo deseas. Siempre se pueden cambiar
los colores de estos. Entonces el botón Atrás, puedes
seguir adelante y cambiarlo, por ejemplo, de nuevo
al utilizado antes. Fue el verde,
Algo así, si lo deseas, Pero solo
voy a tenerlo
todo del mismo color. Creo que se ve bien. Ahora también
tenemos un botón de retroceso. Bien, todo está
funcionando correctamente. Vamos a saltar a
la siguiente lección.
33. 4.04 Adición del servidor a la lista: Ahora estamos listos para hacer la
programación para la interfaz de usuario, ya que estamos terminados
con el diseño. Así que vamos a saltar a la derecha en él. Vamos a abrir el
navegador Sera dentro de aquí. Antes de hacer algo,
en realidad quiero hacer
clic en este. Ocultar servidores completos.
Voy a cambiarlo. Creo que para mí es mejor hacer ocultar servidores vacíos porque
creo que es mejor si solo escondo los servidores vacíos o
nadie está jugando. Creo que eso es mejor
también para estos servidores. Sigamos adelante y eliminemos
todos porque ahora
los vamos a agregar. Aquí solo tenemos el cuadro de
desplazamiento. Bien, todo
se ve bien. Ahora vamos a hacer clic en
el botón Refrescar. Llamemos a este botón Refrescar. Ahora vayamos al fondo
de la misma y hagamos clic en Ahora. Simplemente eliminemos
todo esto por ahora. Con el clic para
el botón Refresh, queremos encontrar sesiones Golpeemos desde
aquí y busquemos. Encuentro Sesión Avanzada, Sesión
Avanzada aquí. Encuentra Sesiones Avanzadas. Sigue adelante y selecciona esa
para el controlador del reproductor. Golpeemos una vez más
y jueguemos al controlador. Sigue adelante y selecciónala
para obtener los resultados máximos. Esta es la cantidad de servidores
que vas a encontrar y yo sólo voy a
encontrar nueve servidores. Sólo tienes
que seguir adelante y buscar tantos servidores usando tierra. Eso vamos a agregar más adelante. Por ahora, en realidad no
te preocupes por este. Vamos a buscar
todo tipo de servidores. Puedes ver,
puedes buscar entre servidores
cliente qué
jugadores han creado, o servidores dedicados
que se ejecutan en otra PC. Busca solo por todos los servidores. Para los filtros, éste en realidad no
está funcionando. También investigué sobre
esto porque estaba tratando de usarlo y
en realidad no está funcionando Vamos a usar otro nodo llamado
para buscar filtro. Puedes ver este
filtro de resultados de sesión. Vamos a usar
esa en su lugar. Todo lo demás
parece estar bien. Yo sólo voy a continuar aquí. Siempre que encontremos los
resultados para los servidores, lo que queremos hacer es que queremos arrastrar desde aquí y decir para cada bucle
vamos a hacer un loop Ahora en vez de
conectarlo aquí arriba, voy a
desconectarlo de aquí y conectarlo hacia abajo
al éxito. En cambio, siempre que
encontremos servidores, estos son los servidores
que encontramos. Ahora vamos a revisar todos los servidores que encontramos. Para cada uno de ellos, para
cada uno de los servidores queremos crear widgets. Queremos crear la tarjeta de servidor porque
cada vez que encontremos un servidor, queremos crear
un cable de servidor y queremos crear
un cable de servidor y
queremos agregar esa tarjeta de
servidor aquí. Volvamos por
la tarjeta del servidor. Tenemos que agregar esta sesión. Esta es la sesión
que acabamos de encontrar. Este es el servidor al
que queremos unirnos. Vamos a la tarjeta del servidor. Ahora, abre la
tarjeta del servidor, está fuera de aquí. Quiero en la gráfica hacer
una nueva variable y llamar a esta sesión encontrada en
el tipo buscar resultados de sesión de
blueprint, dando click en ella compilar Ahora por aquí quiero enchufar
esto a la variable, así que la almacenamos como una variable. Dentro de aquí tenemos alguna información
que tienes para
convertirla en una instancia Editable
y exponer sobre spawn Y seguir adelante y
compilar. Lo que eso hace es que lo haga aparecer aquí. Si haces clic en Archivo ahora
y refrescas todos los nodos, puedes ver que
aparece aquí abajo, para que puedas arrastrarlo y soltarlo. Ahora en realidad tienes
alguna información para esa sesión dentro
de esta variable, que podrás usar más adelante. Porque recuerda en
el código del servidor, tenemos este botón
aquí donde nos
unimos al servidor cada vez que
hacemos clic en el cable, cada vez que hacemos clic en la tarjeta. En el futuro, podremos unirnos a
este servidor porque ahora
tenemos la información del mismo
para cada servidor que encontremos. Sigamos adelante y
creamos un código de servidor. Agreguemos ese
código de servidor a la lista de servidores. Para el cuadro de desplazamiento, voy a llamarlo scroll
box SB y luego lista de servidores. Adelante y conviértalo en una variable. Ahora vamos a arrastrarlo hasta aquí. Arrastre desde aquí y
diga agregar niño. Ahora vamos a añadirle
este cordón. Antes de que lo hagamos
recuerda también
tienes que quitar los servidores
antiguos si
actualizas y bien
servidores si vuelves
a hacer clic en refrescar tienes que eliminar los antiguos. Para hacerlo volvamos aquí. Antes hacemos el trapo de sesión
fina en la lista de servidores una vez más
y luego borramos a los niños Vamos a borrar
los servidores antiguos de la lista y luego vamos a empezar a buscar
de nuevo servidores. Esto ya debería funcionar. Ahora bien, si hago clic en Play, permítanme hacer en realidad
dos jugadores aquí. Y voy a jugar
como servidor de escucha. Y hago clic en reproducir aparece
en mi segunda pantalla. Ahora en mi pantalla aquí, solo
voy a
hacer un servidor aleatorio haciendo clic en Crear. Y voy a intentar unirme
a ella aquí. Si hago clic en Refrescar, debería esperar un poco aquí porque lleva algún
tiempo encontrar servidores. Y una vez que
se haya refrescado, debería aparecer por aquí y
debería poder
verla. Lo puedo ver aquí. Se puede ver que el nombre es incorrecto, toda esta
información es incorrecta. Esto se debe a
que en realidad no hemos codificado la información
para el código del servidor. Pero puedo ver mi servidor. Este es el servidor
que he creado aquí. Si hago clic en él,
no pasa nada porque aún no hemos codificado
la sesión conjunta, pero sabemos que está funcionando ahora. Y ahora dice que solo se
pueden asignar leyes de control
locales a los widgets. Y veamos qué
está pasando aquí. Por aquí, nos está diciendo que solo los controles de jugadores locales
pueden crear esto aquí. Y esto es porque, por cierto, no
va a pasar
para ti, para tu juego. Porque estoy jugando como
dos jugadores y recuerdo que el menú principal está
en un solo jugador. Esto se debe a que estoy
tratando de correr para jugar como servidores de
escucha en
la misma computadora en el menú principal de un solo jugador. Es por eso que esto está
sucediendo si quieres arreglarlo también para que no
obtengas ese dólar todo el tiempo. Siempre puedes
hacer clic con el botón derecho aquí y buscar controlador de jugador
local y tomar en este llamado Is
Local Player Controller. Sigamos adelante y lo agreguemos
aquí abajo antes de que hagamos algo con la interfaz de usuario para que no nos
dé esa era. De nuevo, tomando en la sucursal
y seguir adelante y conectarlo. Si es un controlador de
jugador local, continúe y haga todas las cosas
de la interfaz de usuario. Si no lo es,
no hagamos nada. Siempre puedes seguir adelante
y hacer clic en Reproducir. Intente de nuevo crear
un servidor como este, tratando de unirse y así sucesivamente. Debería darnos la época, si como antes, pero la hemos arreglado ahora. Por lo que en realidad
no debería darnos la época. Pero se puede ver que
no tenemos una era para ir y
venir en los menús. Bien, así que eso fue todo. Podemos encontrar sesiones, pero vamos a hacerlo más complejo durante las clases. Ahora saltemos
a la siguiente lección.
34. 4.05 Agregar un indicador de servidores refrescantes: El problema que tengo
con esto
ahora mismo es que cada vez que actualizo, no
me sale un indicador
para saber si
en realidad estoy actualizando los servidores
o para qué estoy ganando El jugador estará
un poco confundido. Porque imagina que hago
clic en Refrescar ahora, y aquí está vacío y no
sé qué está pasando. Tengo que saber que
en realidad está refrescando los servidores. Cerremos esto
y vamos a crear esto. Ahora esto es muy, muy sencillo. Solo necesitamos agregar algunos textos para que el jugador sepa que es refrescante si solo
copio uno de los textos. Éste por ejemplo,
Control C. Voy a bajar, veamos, tenemos
la caja horizontal. Caja vertical, y
tenemos la superposición aquí. De hecho voy
a pegarlo en este control de superposición V aquí. Vamos a decir
refrescar servidores, por favor. Vamos a decir refrescar
servidores, por favor espere, voy a duplicar éste porque cuando no
encontremos servidores, sólo
voy a
ocultar el primero. Para que pueda ver el segundo. Este va a
decir que no se encontraron servidores. Esto es cuando buscamos, pero en realidad no
hay servidores. Ahora tenemos a estos dos.
Éste y éste. Simplemente puedes esconder
uno de ellos si lo
deseas , para que
no se vea raro. Al hacer clic en el
primero, voy a llamar
a servidores refrescantes. Al segundo
voy a llamar un mensaje de texto. No hay servidores, no hago click en ambos y los
hago dos es variable. Ahora vamos a la gráfica aquí. Cuando busquemos una sesión, tomemos el texto
refrescante de los servidores. Vamos a arrastrarlo y decir
visibilidad del conjunto de visibilidad. Ahora vamos a
mostrarlo a la pantalla y vamos a
mostrarlo como comprobable. Nuevamente, no interactuamos
con él con el ratón. Una vez que haya encontrado sesiones aquí, deberíamos arrastrarlo y decir set visibility to hidden porque ahora hemos encontrado servidores y ya no necesitamos
ver esto. Sin embargo, si no
encontramos ningún servidor, deberíamos tomar esto y decir establecer visibilidad para golpear comprobable. Porque ahora queremos demostrar que no hemos
encontrado ningún servidor. ¿Cómo sabemos que esto es? Porque si los resultados son cero, si tomas esta matriz, digamos length, si la
longitud de esta matriz, digamos si es
mayor que cero, entonces encontramos sesión. Podemos arrastrar aquí y
decir rama conectada. Ahora estamos diciendo que si la longitud de esta
matriz resulta aquí, es mayor que cero. Esto significa que hemos
encontrado un servidor. Entonces podemos seguir adelante
y hacer todo esto. Sin embargo, si no
encontramos un servidor, si está vacío,
necesitamos mostrar este donde
no encontramos un servidor. Ahora recuerda, este también
necesita estar oculto. Siempre que empezamos, sólo
me voy. Pégalo aquí, vamos a
configurarlo en oculto y conectado. Ahora bien esta la
vamos a quitar de todas formas, aunque sea cero o nueces. Después de refrescarnos
aquí sobre el éxito, sigamos adelante y ocultemos esto. Sólo voy a
conectarlo aquí abajo otra vez. Vamos a alejar las cosas. Hay espacio. Empuja
esto hacia abajo así. Simplemente siga adelante y haga doble clic
en las notas aquí para hacer rerutas y hacer que
todo se Bien, eso debería hacerlo. Si compilamos y clic en Reproducir solo para ver
qué estamos haciendo aquí, permítanme simplemente crear un servidor. En la pantalla aquí, creo uno, Vamos a unirnos al servidor. Se puede ver, podemos
verlo enseguida. De hecho tengo que hacer
algo al respecto. Al hacer clic en el primero, solo
queremos ocultar esto. No se encontraron servidores. Por defecto, debemos bajar y establecer
la visibilidad en oculto. Sin servidor, este está oculto. Ahora para este,
debería actualizar los servidores de inmediato cuando me conecto al navegador del servidor. No debería esperar solo para
presionar el botón de actualización, porque es molesto
que tengas que presionar el botón de actualización la primera vez que te unes al navegador del
servidor. Lo que podemos hacer es agregar este código a la construcción del
evento. Nuevamente, esto es como
un evento de inicio, juego. El evento construye de nuevo, en lugar de simplemente copiar todo
esto, solo
voy a
seleccionarlo todo. Todo el código aquí, vamos a
colapsar en una función. Ahora notarás que no
puedes colapsar en una función. Verás aquí si hago
clic derecho y contrajo para funcionar, puedes ver que no puedes
colapsar a una función. Esto se debe a
que cuando tienes eventos cronometrados, cuando ves este
reloj en la función, no
puedes contraer una función
como esta en un evento En su lugar, hagamos clic derecho
y contrámoslo en una macro. La diferencia
entre una función y una macro es la macro, en realidad
puedes hacer
múltiples pines de ejecución. Solo cambiemos
el nombre por ahora. Llamémoslo si Encuentra Sesiones. Ahora dentro de esta macro, vamos a agregarla aquí
dentro de una macro. La diferencia entre
una función y macro está en la función, puedo hacer algo
y puedo arrastrar esta función aquí
y trabajar con ella. Sin embargo, una macro,
puedes hacer lo mismo, pero en realidad puedes tener
múltiples pines de ejecución. Puedo tener múltiples pines
de ejecución. Y puedo hacer más cosas aquí
con los pines de ejecución. Este es el rasgo único
de una macro, pero por ahora, vamos a eliminarlo
en lugar de la macro. Déjame poner las cosas aquí. Está limpio en la salida. Podemos simplemente hacer una
salida aquí cuando solo
quieres una salida sin aquí. Pero puedes hacerlo, el secreto
es simplemente escribir entonces. Si escribes entonces entonces
el texto desaparecerá. Vamos a conectarnos.
Todo se ve genial. Eliminemos esta
nueva función que hice. Ahora para la
sesión fina, podemos arrastrarla y conectarla a
la construcción del evento. Hago clic en Reproducir y hago
clic en servidor conjunto. Debería hacer esto ahora debería decir que no
se encontraron servidores porque en realidad no
creé
ningún servidor todavía esperando. Ahora dice que no se encontraron servidores. Si vuelvo a hacer clic en actualizar, porque ahora en realidad
creé un servidor. Ahora debería mostrar mi servidor. Debería ocultar todo
el texto que estoy aquí. Ahora debería
aparecer. Aquí vamos. Si vuelvo a hacer clic en actualizar, debería aparecer una vez más. Todo está funcionando
correctamente como se supone que debe hacerlo. Ahora el jugador sabe que se están
actualizando los servidores. Y sigamos adelante.
35. 4.06 Función de resultados de sesiones: Bien, entonces lo que quiero
hacer es aquí, en las sesiones
finas, quiero separar las sesiones finas
de cuando filtras. Haga clic derecho en
buscar filtro y tenemos este llamado resultados de sesión de
filtro. Este lo quiero hacer en una función separada en lugar de simplemente continuarla
y hacerlo aquí. Porque cuando filtramos, cuando hacemos clic en Reproducir
y unirse al servidor, filtramos por servidores terrestres. Cuando filtramos por idiomas, imagina cuando haces clic en
uno de ellos y tienes que a actualizar todos
los volver
a actualizar todos
los servidores,
no quiero hacer eso. Por ejemplo, digamos que
somos ingleses, lo
estamos cambiando al alemán. Imagínese si hacemos eso, entonces
tenemos que encontrar sesiones nuevo y tuvo que encontrar
todas las sesiones de nuevo. Se borran las sesiones antiguas.
Yo no quiero hacer eso. Quiero que se filtre de las
sesiones que ya encontramos. En lugar de hacer el
filtro dentro de aquí, hagámoslo en una función
separada. Voy a crear una nueva
función aquí y llamar a esta, mostrar resultados de sesión. Golpeemos desde aquí y
digamos los resultados de la sesión de filtro. Adelante y usa esta función. Ahora podemos filtrar por los
servidores por los que queremos filtrar. Ahora aquí necesitamos
un resultado de sesión. Volvamos a definir sesión. Necesitamos este insumo aquí. Ahora todo este código
aquí que tenemos, en realidad
podemos agregarlo
al filtro porque no lo necesitamos dentro de
aquí, la longitud también. Solo voy a seleccionar todo
esto y luego controlar X para recortarlo e ir a
los resultados de la sesión del espectáculo. Sólo voy a
pegarlo
aquí abajo para que no perdamos
esta información. Ahora para las sesiones finas aquí, lo que voy a
hacer es simplemente voy a eliminar esta. Haga clic derecho aquí, promueva
esto a una variable. Llamemos a esta
sesión resultados. Adelante y
conéctalo después de éste. Y haga doble clic para hacer un nodo de ruta posterior,
hacerlo limpio. Después de encontrar los resultados de la
sesión, sigamos adelante y mostremos los resultados de
la sesión. Porque ahora
vamos a filtrar por ello. Necesitamos un insumo para ello. Voy a dar click
sobre esta función. Hacer una entrada para el tipo. Nuevamente, busque los resultados de la sesión de
blueprint,
conviértalo en una matriz Si haces clic aquí,
puedes convertirlo en una matriz. Ahora llamémoslo
Found Sessions. Y conectemos
esto juntos aquí. Ahora cada vez que se actualice, vamos a encontrar
los resultados de la sesión, los vamos a almacenar
en una matriz Y luego
los vamos a enchufar a esta función, cuyo propósito es filtrar o lo que sea para lo que
estemos filtrando. Lo que sea
que le digamos para filtrar, va a hacer eso. Ahora que ya terminamos aquí, vamos a entrar en esta. Ahora lo que podemos hacer es
tomar esto y conectarlo a los
resultados de la sesión, así como así. Ahora en lugar de hacer esto, en realidad
me di cuenta podemos
hacer un pin menos porque podemos simplemente tomar este y podemos enchufarlo y de hecho
puedo borrar esto de aquí
afuera y compilar porque aquí afuera en
las sesiones finas, realmente no
lo necesitamos para conectarlo aquí. Haga clic en todos y haga clic aquí. Realmente no necesitamos una
entrada porque la estamos usando como una
variable separada aquí. Realmente no necesitamos una
entrada aquí para enchufarlo. Entonces podemos tener una entrada
menos porque solo podemos usar esta variable que
es más parecida. Ahora necesitamos agregarle algunos filtros para que no nos
dé este error. Podemos filtrar en
la siguiente lección. Por ahora, solo
saltemos el filtrado. Pero lo que podemos hacer es
simplemente volver a conectar este código, lo que sea por lo que filtremos Nuevamente, trata de ver si la
longitud de la misma está por encima de cero. Si el de él no está por encima de cero, entonces necesitamos demostrar que no se han encontrado servidores
cuando estás filtrando. Y vamos a hacer que
se vea mejor aquí. aquí de nuevo for loop solo
podemos conectar este resultado de sesiones en su lugar
y eliminar este de aquí arriba. Ahora bien este debería funcionar
bien, igual que antes. Si compilamos ahora
puedes ver que obtenemos un error porque no
hemos agregado ningún filtro. En lugar de hacer algo
más en esta lección, saltemos a la siguiente
lección y agreguemos un filtro aquí.
36. 4.07 Filtrado para el idioma del servidor: Bien, así que
aquí es donde lo dejamos. Vayamos ahora a la gráfica de la camioneta. Y ahora tenemos que filtrar
por el idioma Sera. Si haces clic aquí arriba, baja
a la parte inferior y selecciona éste en la
selección cambiada, ahora el ítem seleccionado
es el idioma. Así que solo voy a hacer clic
derecho aquí, promover esto a una variable, y llamar a esto un lenguaje de
servidor. Este es el idioma del servidor que
queremos filtrar. Puedes llamar a la variable quieras, realmente no
importa. Ahora, filtrando a esto, voy a agregar la
función que hicimos aquí. Entonces agregando esta función, vamos a establecer
esto en una variable. Y entonces
realmente no vamos a refrescar los servidores, pero vamos a filtrar
los servidores dentro de aquí. Lo que podemos hacer es alejar todo esto para que
tengamos algo de espacio. Arrastremos desde aquí y digamos que estamos haciendo una
matriz igual que antes. Vamos a hacer aquí,
tienes esta llamada propiedad literal de
búsqueda de sesión. Ahora otra vez, arrastra de aquí
y di make una vez más. Y queremos filtrar una cadena. Porque tenemos una
cadena, tenemos un lenguaje de servidor, hazlo. Ahora tienes que agregar la
clave que agregaste antes. Si no recuerdas
lo que hiciste, siempre
puedes volver
a los planos Abre la instancia del juego. Dentro de aquí, filtramos
para el idioma del servidor. Puedes salir y
copiar esta llave. Puede volver al navegador
del servidor. ¿Esta llave está aquí abajo? Ahora, tratando de encontrar lenguajes de
servidor que se ajusten a lo que sea que
intentes filtrar. Ahora puedes arrastrar esto hasta aquí. Por ejemplo, si
éste está diciendo chino, va a buscar
todos los servidores que tenían el idioma chino para
ellos cuando fueron creados. Así
va a funcionar esto. Si compilo ahora, ya
no deberíamos obtener ningún error. Ahora podemos hacer esto
un poco mejor porque si voy al diseñador del navegador
del servidor, se
puede ver que tenemos
el idioma inglés. Sin embargo, no lo hacemos, donde
mostramos todos los servidores, quiero eso porque quiero
ver todos los servidores, el inglés, el alemán, el chino y el francés, todos a la vez. No quiero ver
solamente inglés. Vamos a hacer clic en más Responder, o escribir todo aquí en el índice. Sólo voy a arrastrarlo por encima de todos ellos. Está aquí arriba. La opción de seleccionar, en realidad
voy a configurarlo a todos. En cambio, adelante y compile
y debería decir todo Ahora, por defecto ahora para
el lenguaje all, no
es realmente un idioma. No queremos filtrar por nada si el jugador lo
ha puesto a todos. Porque queremos
mostrarlo todo. Si intentas imaginar cómo
puedes realmente hacer esto. En situaciones como esta, lo mejor es usar un nodo select si queremos filtrar o no. Dependiendo de si este es este valor o ese valor
arrastrando desde los filtros, voy a
buscar el nodo select Una vez más,
vamos a seleccionar dependiendo de si este
filtro para servir una cadena de idioma es
igual a todos o no. Voy a arrastrar, si
escribes tres cadenas iguales, esto es igual, exactamente, la cadena es exactamente
igual a todos. Podemos arrastrarlo hasta aquí. Ahora lo que estamos diciendo, si la cadena aquí es exactamente
igual al valor, si eso es cierto, no
queremos filtrar. Esto va a estar vacío. Sin embargo, si es falso, lo que significa que en realidad
seleccionamos un idioma, queremos conectar
esto con el falso. Ahora estamos filtrando por un idioma porque
hemos seleccionado uno. Déjame solo esto aquí así, y todo se ve bien. Ahora, antes de probar el juego, hagamos clic en el filtro
para servir un idioma. Y recuerda que tenemos que establecer
esto por defecto a todos. Hay que seleccionar esta variable y escribir toda por defecto, porque esto es
lo que es por defecto. Ahora vamos a hacer clic en Reproducir. Aquí en mi segundo monitor, voy a crear un
servidor, solo uno aleatorio. Y llamémoslo, o
seleccionemos chino, por ejemplo, y
creamos el servidor. Ahora por aquí en
el servidor conjunto, intentemos esperar
al servidor y veamos
si podemos encontrarlo. Y cuando
lo encontremos, veamos si el filtrado ahora está funcionando. Ahora encontramos el servidor y
es chino. Lo puedo ver. Si me cambio al inglés, dice, no se encuentra ningún servidor. Pero ahora tenemos un error porque necesitamos eliminarlo realmente. Niños claros, nos olvidamos
de limpiar a los niños. Pero se puede ver cuando
selecciono todo puedo ver
el servidor chino. Selecciono chino, lo puedo ver también, en realidad está funcionando. Sin embargo, también tenemos que limpiar a los niños.
Dentro de aquí. Si tomo la lista de servidores, puedo decir claro hijos, eliminamos los viejos o
agregamos los nuevos así. Ahora bien, debería funcionar bien. Sólo voy a saltar adelante
hasta que encuentre el servidor. Bien, aquí
estamos una vez más. Y me he refrescado y
encontré mi servidor una vez más. Si cambio el
idioma a alemán, no
veo ningún servidor encontrado. Me cambio a inglés.
Aquí no hay nada. Cambié a chino, puedo ver mi servidor,
cambié a francés. No puedo cambiarlo a
todo lo que pueda ver mi servidor. Una vez más, el filtrado para el idioma está funcionando
perfectamente increíble. Ahora, podemos cerrar esto. Ahora, antes de que termine esta lección, agreguemos un lingote
para que no nos pongamos el juego porque
ahora mismo puedes mostrar, puedes filtrar aquí usando los resultados de
esta sesión Aunque porque
técnicamente solo
puedes hacer clic en Joint
Sera y puedes comenzar a filtrar justo antes encontrar
o terminar actualizar los servidores y
esto te molestará en el juego. Para evitar esto, podemos hacerlo
mediante una simple variable. Si haces clic en
el plus aquí arriba. Si llamas a esta variable, llamémosla es
refrescante lista de servidores. Vamos a arrastrar desde aquí. Vamos a
arrastrar en este jalón. Y si arrastramos, y
tiramos y seleccionamos
éste, jalamos. Ahora lo que estamos diciendo, no
estamos refrescando
la lista de servi Hacer una rama, luego seguir
adelante y hacer el filtrado. No obstante, si
en realidad
estamos filtrando, no queremos hacer
nada porque lo contrario vamos
a hacer frente al juego. Esta es refrescante lista de servi. Tenemos que configurarlo en
true siempre que estemos filtrando o encontrando sesiones
en la sesión final, cada vez que empecemos a
encontrar la sesión, voy a arrastrar esto y configurarlo
en true. Estamos refrescando al servista por aquí cada vez que
terminemos El refrescante,
quiero arrastrarlo justo antes
de que filtremos aquí. Quiero decir que
es refrescante. Servista ahora es falso porque ya no nos estamos
refrescando. Entonces ahora va
a entrar de aquí y va
a hacer lo suyo. Si compilamos play y me uno, trato de hacer esto, ya
ves que no está molestando porque sigue
refrescando los servidores Y va a hacer
automáticamente este filtrado porque
cuando termine va a filtrar y
automáticamente
va a leer
este filtro para servir un valor de idioma que tal vez
esté establecido en
chino en ese momento. Y entonces todo
va a funcionar bien. Bien, eso fue todo por ahora. Vamos a saltar a
la siguiente lección.
37. 4.08 Filtrado solo en servidores LAN: Ahora vamos a filtrar
por los servidores de línea. Si vuelvo y tomo esta casilla de verificación y voy a llamar a esta verificación por ejemplo, puedes darle el
prefijo que quieras. Llamemos a esto uno solo servidores de
línea y compilemos, configurarlo dos es variable. Ahora volvamos a la
gráfica y aquí para la casilla, vamos a dar clic en este
evento sobre cambio de estado, obtenemos un toro
aquí está marcado. Podemos ver si la casilla de verificación
está seleccionada o no. Vamos a hacer clic en éste. Promover esto a una variable. Llamemos a éste, Sólo servidores terrestres. ¿Bien? Si se comprueba, entonces solo queremos
mostrar los servidores terrestres. Si no se comprueba, entonces
solo los servidores terrestres son falsos. Bien, repasemos y veamos
qué podemos hacer con éste. Ahora, en sesiones definidas, tenemos este plug aquí o esta entrada donde podemos
agregar en servidores terrestres. Sin embargo, para encontrar sesiones
realmente quiero encontrar
todas las sesiones y luego cuando encuentre
todas las sesiones
quiero filtrar los
servidores terrestres de ellas. En lugar de agregarlo aquí, agreguémoslo a nuestro filtro. Pasemos a la
función
show session results que creamos dentro de aquí. Aquí
en el filtrado ahora ya estamos filtrando
para el lenguaje serveral. Lo que podemos hacer ahora, al
igual que antes, podemos hacer una nueva entrada aquí, romper con ella y
buscar nuevamente la propiedad make literal
session. Buscar propiedad. Déjame
simplemente arrastrar esto arriba aquí, en realidad, así no veo esto y puedo arrastrar
todo esto hacia abajo. Tenemos más espacio.
Dará click en éste, ahora está más limpio. Lo queremos hacer aquí abajo
otra vez, de cierre, hacer. Ahora tienes un valor de lingotes porque ahora tienes un lingote Tomemos el
bullying por aquí. Ahora vamos a arrastrar esto solo
servidores terrestres a los lingotes. Ahora bien, para la clave, realmente no
hemos agregado la clave porque
recuerda que estas claves provienen de la
instancia del juego aquí. Realmente no agregamos una clave para
usar servidores terrestres o no. Añadamos uno. Vamos a
hacer clic en el más. Golpeemos desde aquí y digamos hacer un lingote de
propiedad de sesión literal Ya tenemos este valor de suelo de
uso. Podemos simplemente arrastrar esto aquí y hacer doble clic una vez más para hacer
un nodo de ruta posterior. Ahora estamos usando éste. Podemos llamar a éste como
queramos. Por ejemplo, se
le puede llamar usar tierra y salir a compilar.
Ahora tenemos esto. Si el uso de la tierra es cierto aquí, entonces éste
va a ser cierto. Lo que podemos hacer aquí, entonces podemos cambiar esta clave
para usar también la tierra. Ahora se va a echar un
vistazo a lo que es
este valor de suelo de uso
cuando estamos filtrando. Si solo los servidores terrestres son ciertos, entonces solo vamos a encontrar servidores terrestres por aquí. Ahora también queremos encontrar servidores
terrestres aquí en esta
entrada porque ahora realmente
no importa
si el
lenguaje del servidor de filtros que es igual a
todos, si es falso o no. También queremos
buscar servidores terrestres aquí
abajo también. Porque recuerda este
nodo selecto que hicimos porque
queríamos ver si
el idioma del servidor estaba configurado para todos o no. Teníamos estos dos insumos ahora, pero para los servidores terrestres, realmente no
nos importa qué
idioma estés buscando. Este en lugar de
solo ser entrada aquí, lo que podemos hacer es arrastrar y
decir make array una vez más. También tenemos que
conectarlo aquí porque si
no recuerdas si el
idioma del servidor está configurado para todos, estamos viendo todos los idiomas, entonces vamos a
bug cuando intentemos encontrar para servidores terrestres
porque este va a estar vacío y
no pasa nada. Tenemos que conectar esto aquí
abajo también. Espero que no sea demasiado confuso. Bien, ahora antes de
que
probemos todo, volvamos
al gráfico de eventos. Recordemos también
actualizar el filtrado cuando establecemos este estado en true y false cada vez que
marcamos esta casilla de verificación. Asegurémonos de que también
refresquemos aquí. Utilice esta función. Ahora vamos a probar el juego. Voy a crear un sera aquí. En mi segundo monitor, voy a crear un sera. Y solo podemos seleccionar tierra, y voy a
hacerla francesa, luego Create. Ahora aquí, vamos a unirnos a un
servidor ahora, esperémoslo. Lo que debería decir ahora
es que no se encuentran servidores porque en realidad es un servidor terrestre y
no es un servidor público. Ahora puedes ver aquí
dice que no se encontraron servidores, pero cuando hago clic en
solo servidores terrestres, debería encontrar el servidor
y lo hace aquí. Sin embargo, tenemos un error
aquí abajo con el no servidores encontrados. Tenemos que arreglar esto.
Pero como pueden ver, cuando lo agrego y lo
elimino, el filtrado del servidor servidor en realidad está trabajando con los servidores que
no encontraron este texto aquí. Podemos simplemente controlar C y controlar aquí abajo porque siempre que se muestre
la primera vez, siempre que no
encuentre nada, siempre que no
encuentre nada, no
se va a ocultar
cada vez que encuentre más adelante. Porque nunca hemos especificado aquí que
se debe ocultar por defecto. Así que vamos a
conectarlo aquí y configurarlo oculto cada vez que
volvamos
a buscar, y ese problema
debería ser arreglado. Ahora también estamos filtrando para servidores de
línea. Pasemos a la siguiente lección y verifiquemos
los servidores vacíos.
38. 4.09 Ocultar servidores vacíos: Derecha. Bienvenido de nuevo. Ahora vamos a Ocultar los servidores vacíos. Para ello, esto es muy sencillo. Ahora podemos dar click en Ocultar
Servidores Vacíos. Vuelva a marcar Casilla. Cambiémosle el nombre a Check. Llamémoslo Ocultar Servidores
Vacíos. Ahora vamos a convertirlo en una
variable con esta. Bajemos al fondo una vez más y hagamos clic en verificar. Cambiado aquí. Hagamos clic derecho y
promocionemos esto a una variable y llamemos a esta
Ocultar servidores vacíos. Ahora esta encuesta en lo que
tenemos que hacer es que podamos ir a la macro de sesiones
finas. Tenemos éste diciendo servidores
no vacíos solamente. Para que podamos arrastrar esto hasta aquí, esconder servidores vacíos
y conectarlo. Siempre que tengamos un hide
empty servers true, esto significa que no queremos
ver servidores vacíos, entonces este debería ser verdadero, solo servidores
no vacíos. Eso es en realidad. Entonces lo que podemos hacer ahora es bajar aquí, clic en esta macro en ella, y luego tenemos que refrescar
las sesiones nuevamente. Porque tenemos que volver a
encontrar sesiones donde no haya ninguno de los servidores
vacíos solamente. Eso debería funcionar bien. Ahora podemos compilar y
saltar a la siguiente lección.
39. 4.10 Filtrado para el nombre del servidor: Bien, entonces lo
último aquí, queremos filtrar por
el nombre del servo también. Entonces, al hacer clic en este cuadro, cambiémosle el nombre a Nombre del servidor de
entrada. Ahora, ya hice esto y
configurándolo en variable. Ahora lo que podemos hacer
aquí en la gráfica, vamos a dar clic en él y dar clic en Cambio de texto, así
conseguimos este evento. Ahora, para este texto,
vamos a configurarlo en cadena,
así que configúrelo en una cadena y haga clic derecho y
promoverlo a una variable. Y llamemos a este
filtro al nombre del servidor. Nuestro filtrado a este
servoname que escribimos aquí. Nuevamente, recuerde ejecutar esta función porque
tenemos que ejecutar el filtro cada vez que cambiemos
este valor, abrirlo. Ahora, para el servoname, tal vez
tengas la tentación de
agregarlo aquí abajo. Pero el problema con
este de aquí abajo es, se puede ver que trata de
comparar esta cadena, por
ejemplo, porque el
lenguaje de servicio es igual a. Entonces este lenguaje de servicio aquí, siempre que sea igual a
algo, va a filtrar. Para el nombre del servo, por ejemplo, si el reproductor de aquí
y el nombre del servo solo escribe H E. En lugar
de escribir hola, por ejemplo, el jugador escribe H E. Aún debe
encontrar el servidor. Pero no lo haría
porque está
tratando de ver si la cadena que estás buscando es igual
al nombre del servidor, y no sería el caso. Entonces todo esto es que realmente no
podemos usar todos estos aquí iguales no iguales
mayores que y así sucesivamente, así que no podemos usar esta
parte del filtro. Entonces, en vez de eso
, podemos ir por aquí, y vamos a hacerlo
por aquí en su lugar. Entonces ahora lo que podemos hacer es que podamos tomar este filtro para servir nombre. Ahora, antes de que hagamos un bucle aquí, vamos a comprobar si este filtro para
servir nombre está vacío o no. Entonces comprobando si el jugador
realmente escribió algo. Así que arrastrando desde
aquí y
buscando vacío y seleccionando
esta función Entonces, ¿es este filtro
para cadena servanam? ¿Está vacía? Y yo
sólo puedo hacer una sucursal aquí. Si está vacío, esto significa que el jugador no ha escrito nada. Y cuando el jugador
no escribe nada, podemos simplemente seguir adelante y hacer un bucle como sea que lo hicimos antes,
así que nada cambió. No obstante, si el jugador
ahora escribe algo en la caja, tenemos que hacer
algo aquí abajo. Ahora, no realmente aquí abajo
sino aquí abajo en las cataratas. Entonces con esto, podemos simplemente copiar y
pegar este código por aquí, y ahora podemos conectarlo. Antes de agregar todos los
servidores a la lista aquí, podemos simplemente arrastrar esto lejos. Y podemos arrastrar esto y
decir, obtener ajustes adicionales. Ahora bien, esta función aquí,
en realidad la vamos a usar en el código
del servidor eta. Entonces este, vamos a
conectarnos por ahora. Así que obteniendo los ajustes adicionales, De nuevo, los ajustes adicionales. Recuerda, estos son
de la instancia del juego. Puedes ver aquí, lo
llamamos configuraciones extra. Entonces vamos a conseguir el
servame de aquí. Esto es lo que estamos tratando de hacer. Estamos obteniendo este valor
que se bloqueó aquí. Entonces yendo al navegador del servidor, una vez más, desde la
configuración de G, obtener configuraciones adicionales. Podemos volver a arrastrar y decir, Get y ahora queremos conseguir una cadena porque queremos
obtener el servaname Entonces ahora aquí,
busquemos el nombre del servidor. Recuerda, esta clave es la
clave que escribiste aquí, y yo la escribí y llamé servam para que puedas
copiar esto aquí, y luego ahora tenemos
este nombre de servo Entonces, ¿qué podemos hacer con él? Podemos intentar compararlo. Y
lo bueno de una cadena, es por
eso que aquí en
el gráfico de eventos, lo
hice a una cadena. Por eso
no lo convertí en una variable de texto
porque una cadena, puedes modificarla
de tantas maneras. Entonces, si solo
buscas cadena, porque tienes todas
estas funciones puedes usar para usar realmente
algo con la cadena. Y el que quiero usar
es el que se llama Contiene. Si vas aquí arriba, tienes
esta llamada Contiene. Si haces clic en él, ahora estás
buscando en esta cadena. Y mientras estás
buscando en la cadena, estás tratando de ver
si contiene algunas de las letras que el jugador escribió
aquí desde
el filtro hasta servanam si ese es el caso,
así que vamos a hacer una rama aquí y seguir
adelante y conectarla aquí en el encontrado Y repasemos y
conectemos esta parte de aquí abajo. Entonces ahora, está tratando de
encontrar si puede encontrar un servidor que contenga este nombre de servidor que
el jugador ha escrito, y si se puede encontrar, vamos a
agregarlo a la lista. Si no se encuentra, no
vamos a hacer nada. Entonces esto debería hacerlo. Ahora,
hagamos doble clic en este y hagamos un nodo de ruta posterior y
hagamos que se vea mejor. Ahora, sigamos adelante
y veamos si funciona. Entonces voy a hacer
click en jugar ahora. Y ahora sólo voy
a crear un servidor aquí en mi segunda pantalla, da
clic en crear sera. Ahora voy a
llamarlo algo real aquí. Solo voy a
llamarlo algo así como chino chino único
servidor el mejor de todos los tiempos, y luego seleccionar Mirage y
luego configurarlo en chino y establecer las ranuras
en algo como 16 y hacerlo público y
seguir adelante y crear el serv Bien, entonces ahora por aquí,
sigamos adelante e
intentemos unirnos al serva
y siempre que lo
encontremos, intentemos ver si todos
los filtros funcionan. Entonces específicamente este gran serva porque hemos probado
los otros. Entonces ahora intentemos
filtrar por el nombre. Ahora bien, para el nombre, realmente no
podemos verlo aquí porque aquí no
hemos creado la tarjeta
serva, así que aún no lo hemos
personalizado, pero la llamamos solo china. Entonces solo busco chino,
eso debería encontrarlo. No obstante, si solo
agrego algo extra, así que ya no es chino, se
puede ver que ya no lo
encuentra. Si lo borro,
recuperamos el servidor, y lo hicimos el mejor de todos los tiempos.
Así es como lo llamé. Entonces, si solo
busco el mejor de la historia, todavía
va a aparecer. No obstante, si solo escribo
algo, por ejemplo, como el mejor, y entonces tal vez
algo como K aquí afuera, no
va a aparecer. Entonces el filtrado para el servidor aquí y la barra de
búsqueda está funcionando. Sin embargo, todavía
necesitamos codificar es, por lo que en realidad nos muestra
la información correcta. Ahora bien, esta está
funcionando. Todo bien. Entonces ahora que esto está terminado, pasemos a
la tarjeta del servidor y codificemos esa información en.
40. 4.11 Cómo obtener la configuración adicional para la tarjeta de servidor: Bien. Todo bien. Ahora,
comencemos dentro de aquí. Entonces volvamos al menú principal de la
interfaz de usuario. Y esta vez, vamos a ir
a trabajar aquí dentro
del Servo Cd. Así que vamos a abrirlo y hagamos
clic en el primer texto. Ahora, vamos a cambiarlos todos
ahora que lo somos. Entonces el primero, voy a llamar
a texto Servanam. El siguiente, podemos seguir adelante
y llamar a mapa de juego de texto. El tercero, podemos llamar texto cantidad de slots
o cantidad de jugadores. También puedes llamarlos jugadores. Creo que eso es mejor. Y
al último que podemos llamar texto Este, la bandera
aquí, el icono, sólo
voy a
llamarlo lenguaje de imagen. Y haciendo clic en todas ellas, podemos seleccionarlas todas y
ponerlas en la variable iss, para que podamos codificarlas posteriormente. Ahora, para esta lección, vamos a obtener
los ajustes adicionales. Y recuerda, los
ajustes extra son los que creamos dentro
de la instancia del juego. Así que ahora estamos recibiendo toda
esta información. Vamos dentro de
aquí. Déjame simplemente borrarlo todo en
la tarjeta del servidor. Permítanme crear una nueva función
llamada get Extra settings. Bien, entonces dentro de aquí, lo que queremos hacer
es que queramos tomar esta sesión encontrada que tuvimos. Recuerde, ingresamos
esta información dentro de aquí cuando
encontramos los resultados de la sesión Y podemos arrastrar desde aquí
y decir, obtener ajustes adicionales. Entonces otra vez, esto es lo que
hemos estado haciendo, si vuelvo atrás y les recuerdo
aquí en el navegador servo. Recuerden, esto es lo que hicimos. En el navegador servo, obtuvimos los ajustes adicionales y
la cadena de propiedad. Entonces esto es básicamente lo
mismo que estamos haciendo aquí. Así que obteniendo los ajustes adicionales, arrastra desde aquí y di, consigue. Ahora, estamos obteniendo
la cadena de propiedad. El primero que vamos a
obtener es el nombre del servidor. Entonces, si solo escribes el
nombre del servidor, y por cierto, la clave nuevamente es de
la instancia del juego. Entonces, sea lo que sea que escribas aquí como clave para el nombre del servidor, tienes que usarlo aquí, de lo
contrario, no va a funcionar. Voy a arrastrar aquí
y hacer un nodo de retorno, y con este nodo de retorno, puedo arrastrar esta
información hacia aquí, que haga una variable para mí, y puedo usarla más tarde. Y a esta variable
voy a llamar Servam. Entonces ahora tenemos el nombre del
servidor. Y vamos a arrastrar de
aquí otra vez y digamos, consigue ahora voy a
conseguir otra cadena. Adelante y conéctalo aquí. El siguiente que quiero obtener Primero
consigamos el
idioma del servidor. Entonces voy a obtener
el idioma del servidor, y vamos a conectarlo. Ahora lo siguiente,
otra vez, a partir de aquí, obtener cadena de propiedad, una
vez más, seguir adelante y conectarlo. Ahora bien, este va a ser el mapa SerVA porque
yo también lo necesito. Adelante, escribe eso aquí. Conectado. Ahora,
realmente no necesitamos más porque ahora tenemos el
vuelvo al diseñador. Ahora tenemos el idioma, el nombre del servo, y
tenemos el mapa. Y estos dos los podemos hacer sin obtener ninguna
información de aquí. Así que solo puedes arrastrar
esto, encerrarlos. Entonces el primero es
el idioma Serva. Entonces llamémoslo lenguaje serv. Y el otro es el mapa del servidor o el mapa del juego, como
quieras llamarlo. Y nuevamente, puedes hacer
doble clic en ellos para
hacer notas de reencaminamiento. Todo bien. Y eso fue todo. Así que ahora hemos creado los ajustes adicionales. Y más adelante aquí
en el gráfico de eventos, podemos arrastrarlo y
podemos usar toda
esta información para establecer
la información de los servidores.
41. 4.12 Actualización de la información de la tarjeta de servidor: Empecemos ahora con actualización de la información de la
tarjeta del servidor. Vamos a hacer click derecho,
y voy a hacer una construcción de evento, una vez más, teniendo este evento. Recuerda aquí en
el navegador del servidor, cada vez que
encontremos sesiones, creamos esta tarjeta de servidor, cada vez que creamos
la tarjeta del servidor, esta construcción de eventos va
a jugar de inmediato cuando agregemos o cada vez que
creamos esta tarjeta de servidor, vamos a actualizar con la información
que necesitamos. Y vamos a arrastrar esto, obtener ajustes adicionales que
creamos y enchufarlo. Ahora comencemos
desde el principio. Lo primero que queremos
editar es el idioma. Este, voy
a arrastrarlo. Lo que queremos
hacer es poner pincel. Tienes este conjunto de
pinceles de Texture. Ahora necesitamos los íconos para ellos, y
te los he dado los materiales de costo. Si aún no los has
importado, solo entra en tu material
a la carpeta de iconos y simplemente arrástralos a una carpeta de iconos
aquí y aquí como puedes verlos. Por cierto, si quieres que la interfaz de usuario se vea mejor, siempre
puedes volver a
hacer clic en cada una de ellas. Establezca el grupo de texturas en la configuración de compresión de la
interfaz de
usuario a la interfaz de usuario dos D. Esto es lo que debería
ser para su interfaz de usuario. Ahora vamos a cerrarlo
y tenemos la bandera. Volvamos al bacalao sera. Dentro de aquí, hay
que ponerla en la bandera dependiendo del idioma sera. Ahora lo que voy
a hacer es que voy
a mostrarte un
método inteligente para hacer esto. Si tu variable de crédito
llamas a este servidor idiomas. Ahora para éste, voy
a cambiarlo en una cadena. Ahora vamos a cambiar
esta en vez de una matriz. Hasta ahora hemos estado usando una sola variable y
una variable array. Esto, voy a hacer un mapa. Variable. Un mapa de lo que es. Consta de dos variables
como puedes ver aquí. El primero es string porque esto es lo
que has seleccionado. Segundo, voy a simplemente buscar
textura y seleccionar esta llamada textura dos D. Y seguir adelante y
seleccionar una referencia de objeto. Una textura dos D es
simplemente una imagen aquí. Qué está haciendo esto ahora si compilas, puedes
verlo aquí abajo. Si hago clic en el más, ahora puedes ver estas dos variables, la cadena y la textura. Ahora la cuerda, podemos
hacer lo que queramos. Por ejemplo, puedo
decir para el inglés, quiero la bandera inglesa. Podemos tomar esta
bandera americana y publicarla. Ahora volvamos a hacer clic en
el más. Y digamos que para el idioma
alemán, quiero la bandera alemana. Adelante y enchúfelo también. Porque el plus, una vez para digamos idioma chino, quiero que la
bandera china sea la final. Para el francés, para el idioma francés,
quiero la bandera francesa. Antes de hacer nada, de
nuevo, tengo que recordar, configuraste esta escala
de UI en 1.25
En realidad puedes ver que esto es lo que he hecho hasta ahora creando este mapa. Y podemos asignar una
textura a las cuerdas. Ahora un
método muy inteligente que podemos hacer es que podamos arrastrar este
mapa hacia aquí. Y podemos arrastrar, si no
sabes lo que
puedes hacer con un mapa, siempre
puedes ir a Utilidades. Haga clic en Mapa, y estas son las funciones que
puede usar con un mapa. Puedes agregar un valor,
puedes borrar el mapa, borrar todos los valores. Se puede ver si contiene
algo específico. Puedes encontrar algo específico, y puedes verificar la
longitud del mismo y así sucesivamente. Pero lo que queremos hacer es
que queremos encontrar algo. Queremos encontrar el idioma
para el sera que el serva tiene, por ejemplo, el chino elegido. Vamos a encontrar esto
dentro de este mapa. Siempre que lo
encontremos, vamos a encontrar la textura, vamos a buscar chinos. Y luego vamos a
conseguir el icono de la bandera para ello. Este icono de bandera, vamos
a enchufarlo aquí. Y luego enchufa esto aquí. Encontramos el icono de la bandera. Vamos a cambiar el idioma de la imagen a
la bandera correspondiente. Ahora esto está hecho. Ahora sigamos
adelante y continuemos. Este es el servoame. Tomemos este servoame. Di aquí, establece el texto. Esto es simplemente lo
que estamos tratando de hacer. Estamos tratando de establecer el
texto para el nombre del servo. El texto que queremos establecer es
el servonombre aquí. Sólo voy a arrastrarlo y
soltarlo y va a convertir mi variable de cadena
en una variable de texto para mí. Ahora bien, esto es correcto,
continuemos. Lo siguiente es el mapa del
juego, volviendo atrás, arrastrándolo aquí
diciendo set y
voy a configurar el
texto para Agregar y conectarlo de nuevo para el servidor Vaya, este es el nombre Servo. En realidad necesito hacerlo
contrario para este de aquí, así que no me equivoco. El Servo Map en realidad está por
aquí. Vamos a conectar eso. Ahora esto también se hace. Ahora por la cantidad de jugadores, volvamos ahora, la cantidad de jugadores,
adelante y pongamos texto una vez más. Ahora cuando tienes
dos valores dinámicos, para que veas que
necesitamos la cantidad de
jugadores en el servidor, pero también necesitamos los jugadores máximos que
puedan estar dentro de un servidor. Cuando tenemos dos valores dinámicos como este y solo
tenemos un bloque de texto, necesitamos usar algo llamado formato texto que arrastre desde
aquí y diga Formatos seleccione este, formatear texto. Ahora lo que podemos hacer
dentro de aquí es que
podemos comenzar con un corchete. Entonces podemos escribir, por
ejemplo, cantidad de jugadores. Entonces hay que
recordar cerrar el corchete
y presionar Inter. Cuando haces eso, puedes ver
que obtienes una entrada para esto. Ahora déjenme solo escribir slash porque tengo este slash aquí Entonces tengo que conseguir la cantidad máxima de
slots. Cantidad de ranuras. Voy de nuevo aquí
después de la barra, abre el corchete
y escribo cantidad de ranuras Entonces podremos hacer
el corchete de cierre una vez más cuando golpeemos al Inter, obtenemos la segunda entrada. Se puede ver ahora que
obtenemos entradas para las variables. La forma en que obtenemos la cantidad de
jugadores y cantidad de slots es si podemos tomar esta sesión y solo puedes
buscar jugador, puedes ver aquí,
obtener jugadores actuales. Puedes arrastrar de nuevo a los jugadores obtener reproductores actuales,
Conéctalo aquí. Y consigue jugadores. Max jugadores. Sí, conéctelo a la cantidad de ranuras y continúe
y conéctelo. Compila todo, y
continuemos ahora. Lo último es el ping. Al hacer click sobre él otra vez, arrástralo ,
establece texto, Adelante
y establece el texto. Ahora para el ping, podemos obtener eso de aquí
también. Si puedes arrastrar o copiar pégalo y
busca ping ping en MS. Y sigue adelante y conecta ese
valor dentro de aquí. Ahora en vez de solo
conectarlo, puedes ver aquí
tengo el valor y
tengo MS al final. Nuevamente, hay que
usar un formato de texto. Así que sólo voy
a arrastrar y decir formato texto y seleccionado. Ahora abre un soporte de rizo
que diga Ping por ejemplo. Se puede cerrar el
corchete de rizo y luego voy a escribir MS al final porque quiero el texto
MS al final. Voy a darle a
Enter. Y ahora puedes enchufar el valor de ping. Ahora mismo, esto debería arreglar todo lo que hemos
dicho, todo. veamos si
todo está funcionando. Ahora si hago clic en Reproducir una
vez más y creo un servidor, vamos a crear uno llamado, por ejemplo, Fun sera. Por favor, únase. Vamos a
configurarlo en Mirage, configurarlo en alemán y configurarlo en 32 ranuras públicas Y voy a darle a Create. Voy a unirme al servidor y ver si puedo encontrar
el servidor aquí. Ahora puedes ver que
creamos el servidor. También se muestra el ping, el mapa y dice en
Sera, por favor únase. Y también tiene la bandera
alemana, y todo está funcionando
como se supone que debe hacerlo. Lo último que tenemos que hacer es cuando haces clic
en este botón, necesitamos unirnos a la sesión. Hagámoslo en
la siguiente lección.
42. 4.13 Unirse a la sesión: Estamos de vuelta aquí en
el código del servidor y lo último que tenemos que
hacer es unirnos a la sesión. Si vuelvo al diseñador
y hago clic en el botón, es este botón de
aquí al que hacemos clic. Voy a cambiar el
nombre para ello a Join server, por ejemplo, o compilar
sesión conjunta. Y ahora vamos por aquí. Haga clic en los eventos on click. Ahora cuando hacemos clic en el botón, queremos usar este llamado
Sesión. Elige este, el controlador del reproductor
una vez más consigue controlador
del reproductor
y úsalo aquí. Ahora para la sesión a la que
queremos unirnos, es simplemente esta
sesión encontrada la que tenemos. Y eso debería ser bueno. Ahora podemos guardarlo todo. Y eso fue todo por
éste. Y sigamos adelante.
43. 4.14 Navegador de servidores Back Button: Ahora ya casi hemos terminado. Vamos a codificar el
botón atrás aquí. Haga clic en él. Voy a cambiar
el nombre del mismo a botón atrás y
configurarlo a su variable. Baja, establece el click aquí. Solo volvamos a, por ejemplo, lo hemos
hecho antes. Vamos a abrir el menú principal. Vamos a retomar
el menú principal aquí, copiar y pegar este código
que creamos. Vuelva a la
tarjeta del servidor, o una tarjeta de servidor, navegador
del servidor, y
peguelo aquí. Adelante
y conéctalo. Ahora no tenemos la variable del controlador del
reproductor. Vamos a agregarlo
aquí en la
construcción del evento antes de
buscar servidores. Estoy otra vez,
sólo podemos copiarlo y pegarlo. En realidad, si
volvemos al menú principal, podemos copiar y pegar este
código que creamos. Pégalo por aquí. Y
eso debería ser arreglado. Adelante y conecta esto aquí. Conecta esto aquí. Hagamos clic derecho cuando veas que es gris. Esto se debe a que aún no hemos
creado la variable. Vamos a hacer clic derecho y
crear esta variable. Ahora se crea y
debería funcionar aquí abajo también. Ahora cuando hacemos clic
en el botón Atrás, queremos ocultar
el navegador Servo. Y queremos mostrar el menú
principal y compilar. Ahora si lo deseas, también puedes seguir adelante y crear
animación para esto. Al igual que lo que hicimos
para el Create Serva. Sólo una forma rápida de hacerlo es que
podemos hacerlo rápidamente juntos. En realidad, si haces
clic en este cuadro vertical, hagámoslo para
este cuadro vertical. Yo solo lo voy a
llamar navegador Sera aquí
abajo en la animación, Pulsa en la llamada más, da clic en ella, haz una nueva
pista para el navegador de Sera. Recuerda, tienes
que tenerlo seleccionado. Adelante y haz clic en el más. Vuelva a hacer clic en el signo más,
aquí abajo, seleccione la transformación. Ahora lo que podemos hacer es
simplemente copiar y pegar el viejo. Si voy al crear sera, lo
abro aquí en
la pestaña de animación. Sólo voy a
copiar esta transformación. Yo solo voy a seleccionar
esto así aquí, controlar C. Si voy
al navegador de Sera, sólo
puedo dar click aquí, controlar V. Ahora
dice que no se puede pegar. Voy a intentar hacerlo de nuevo. Sólo puedo copiar esta traducción y
ver si puedo pegarla. Control aquí, control V aquí. Y eso funcionó, solo tuve que
copiar de aquí en su lugar. Ahora que funcionó,
se puede ver si hago esto, ya hizo la animación. Puedes copiar y pegar animaciones. Y es mucho más fácil
para ti también. Si voy a la gráfica aquí, antes de hacer la sesión fina, sólo
puedo reproducir la animación. Ahora aquí para la animación, vamos a arrastrarla y
digamos jugar animación. Y hacer eso, queremos que
mire una vez hacia adelante. Eso está bien para la velocidad. De nuevo, voy a configurarlo 1.1 así que es un poco
más rápido de lo normal. Ahora si haces clic en
el botón Atrás. No obstante, al igual que antes, quiero romper esto,
romper una vez más la animación y decir Reproducir animación y
seguir adelante y conectarla. Ahora vamos a volver a
jugarlo, 1.1 velocidad. No obstante, esta vez
vamos a jugarlo a la inversa. Podemos romper esto una
vez más y decir conseguir tiempo. Entonces podemos agregar un retraso
igual que antes. Esto es lo mismo que
hicimos con la Creta Sera. Entonces agregando un retraso y luego
conectémoslo ahora. Después del retraso, queremos cambiar esta pantalla
así, claro. También puedes agregar la animación
para el menú principal, pero te das la idea. Intentemos hacer clic en Reproducir. Únete a Serva, y así
es como se ve. Cinco películas en la espalda. Así
es como se ve. Bien, también tenemos animaciones
para eso. Se ve genial.
Vamos a saltar por encima en la siguiente lección y ver
si tenemos algún problema, o dólares con el sistema que
hemos creado por ahora. Pasemos a
la siguiente lección.
44. 4.15 Prueba del resultado final: Justo aquí estamos de vuelta otra vez
en el ojalá final. Sigamos adelante y
probemos el juego. Ahora quiero que lo hagas es
configurarlo a un número de jugadores, dos, y luego jugar
como servidor de escucha. Intentemos reproducirlo dentro
de esta ventana antes empaquetarlo y
probarlo en otra computadora. Así que adelante y crea un servidor. Sólo voy a crear un
servidor con esta pequeña pantalla. Simplemente crea un servidor aleatorio. Ahora voy a intentar unirme
a ese servidor. Ahora se va a refrescar. Probemos también todo
esto aquí arriba. Una vez que el servidor esté arriba. Ahora como se puede ver
el servidor un bug. Porque ahora cuando
hago clic aquí, puedes ver que no puede
unirse a la sesión. También puedo ver que la cantidad
de jugadores es cero. Hay algo mal. Si la cierro, creo que sé dónde está
porque olvidé algo. Porque cuando quieres
depurar algo como esto, básicamente lo que
buscaría es que miraría la interfaz de usuario aquí en el servidor
Create. Yo vería si crea
el servidor correctamente. Aquí tienes toda
la información. Tienes el nombre del servidor, la
cantidad de slots que tenemos, la cantidad de slots
establecidos correctamente. Tendrás que comprobarlo,
sí, nosotros lo configuramos. Cuando cambiamos el valor
aquí en el servidor de creación, este en el
reproductor máximo, el público se conecta. El problema es que si tuvieras un error aquí y las
conexiones públicas serían cero, entonces nadie podría unirse. Pero puedo ver que ya
fijamos la cantidad de slots y todo está funcionando
aquí, comprobando el join. Si hacemos clic en el saque, un código y donde
hicimos la sesión conjunta, todo es correcto, la sesión
conjunta está aquí. También puedes verificar si esta
sesión es válida arrastrando desde aquí y buscando
válida. Yo ya hice esto. Comprobé si esto era válido. La forma en que haces esto
es si solo imprimes un mensaje en la pantalla. Justo aquí en el éxito conectado
conecta este de aquí. Si intentas jugar y
luego unirte al servidor, debería decir eso cierto, la sesión aquí es válida. No hay nada
malo en la sesión, así que algo más está mal. Ahora, me tomó 5 minutos
echar un
vistazo a lo que era porque no
podía ver lo que estaba mal. Pero la cosa es que olvidamos algo
aquí en el plano De hecho lo hicimos
antes, creo. Pero cuando cambiamos las cosas, nos olvidamos de escribirlas. Cuando creas el servidor
y eliges el mapa aquí, cuando abres el nivel, tienes que dar click sobre esta
flecha para ver esta opción. Y en realidad hay que escuchar, porque hay que
escuchar esto, porque estamos creando
un servidor cliente. Entonces hay que tener esta
escucha antes de que pueda funcionar. Ahora si vuelvo a hacer clic en Reproducir, creo un servidor aleatorio
en mi segunda pantalla, sea lo que sea,
solo uno aleatorio. Volvamos aquí.
Crear. Unámonos a un servidor. Ahora vamos a esperarlo. Ahora debería mostrarse con
la cantidad correcta de jugadores y no deberíamos tener ningún problema para unirnos
al servidor también. Vamos a esperarlo. Aquí está. Ahora puedo ver la
cantidad de jugadores. Si hago clic en él,
debería unirse al servidor. Y sí se une al servidor. Ahora todo está
funcionando correctamente. Bien. Ahora bien, esto está
funcionando correctamente. Lo que voy a hacer ahora es que
voy a abrir cuatro jugadores. Si tienes una computadora lenta, solo ten cuidado puedes fallar porque es mucho
abrir tantos servidores. Y también voy a poner la escalabilidad del
motor a baja, así que en realidad puedo
ejecutar muchos de ellos. Además, si quieres
optimizarlo, siempre
puedes ir a la configuración
del proyecto, puedes buscar sin problemas, tienes algo aquí
llamado velocidad de fotogramas suave. Y puedes marcarlo y luego seleccionar cuál debería ser el FPS
máximo. Tu computadora no funciona, máximo, puede hacer eso. En realidad, eso fue un
problema en la cola de granja. Cuando lo solté, no
estaba al tanto de esto. Y funcionó a como
600 FPS o lo que sea y quema las GPU de Peoples Simplemente establezca un máximo de
fotogramas por segundo. No necesitamos
más de 200 en este juego. Ahora intentemos abrir cuatro
de ellos. Vamos a hacer clic en Reproducir. Ahora tengo cuatro de ellos. Sólo voy a crear servidores
aleatorios y
volveré contigo. Bien, así que ahora he
creado los servidores. Voy a dar click
en Servidor Conjunto. Y por cierto, la
lista de actualización aquí va a ir
mucho más rápido una vez que la
empaques en Steam. Entonces esto solo
lleva mucho tiempo porque estamos
buscando nuestros propios juegos. Como pueden ver aquí,
hice un par de servidores. De hecho hice tres, pero
uno de ellos es servidor terrestre. Ahora podemos comprobar si
estos filtros están funcionando por aquí en el servidor create.
A ver si funciona. Si busco jinks, encuentra
el servidor Si intento
buscar deathmatch, si acabo de escribir deathmatch, puedes ver que ya Ahora bien, esta búsqueda es
muy inteligente porque busca también dentro
de las oraciones. Por ejemplo, si solo
escribo server o R, debería encontrarlos a ambos porque ambos tienen ER en ellos. Encuentra a los dos VR
aquí, ambos la tienen. Si escribo algo mal, no los encontrará
aquí en los idiomas. Si busco inglés, sólo me va a
mostrar éste. Alemán, este chino no
tenemos uno. Y francés no
tenemos uno. Todos ellos. Ya estamos de vuelta aquí, escondiendo los servidores vacíos. Se va a actualizar la
lista una vez más porque ahora se trata de encontrar servidores
que no estén vacíos, que básicamente son todos ellos. Debería mostrarlos todos
una vez más. Aquí están. Ahora bien, si solo
muestro los servidores terrestres, puedes ver mi servidor terrestre que en realidad también creé, con dos jugadores solo aquí
dice Únete al servidor Land aquí. Si lo quito, puedo
ver mis servidores públicos. Sigamos adelante y
unámonos al servidor terrestre. Si hago clic en este, debería unirse al servidor. Y me vuelve a mostrar este menú
principal, porque es solo un
mapa falso al que me acabo de unir. No es mi mapa de contraataque, pero ahora puedes ver que
todo está funcionando. Pasemos a la siguiente
lección, en realidad, y empaquetemos este proyecto para que realmente
puedas enviarlo a tus amigos o agregarlo
a Steam si lo deseas. Por ahora, adelante
y guarda todo, y saltemos
a la siguiente lección.
45. 4.16 Empaquetado del proyecto: Bien, aquí
estamos de vuelta otra vez. Sólo voy a cambiar la escalabilidad a
Epic una vez más. Y ahora estamos listos para
empaquetar el proyecto. Ahora vas a conseguir diferentes épocas
dependiendo de qué proyecto usaste, porque realmente
depende de tu proyecto ahora. Pero para empaquetar tu proyecto, adelante y puedes
hacerlo dentro de aquí. Pero antes de que lo hagas, lo que me
gusta hacer es que me gusta ir
a ventana y mostrar
el registro de salida. Ahora dentro del registro de salida, podrás
ver todas las eras que tienes para tu juego
antes de que yo haga esto. Ahora para este juego,
algo que puedes arreglar. Si has vuelto a hacer este juego de
contraataque, puedes hacerlo aquí en
Game Instruct.com Aquí es donde libero
mis cursos Y este es mi sitio web personal. Y siempre puedes encontrar
cursos dentro de ahí, incluyendo tiradores, multijugador dos juegos D
en Unreal y así sucesivamente Pero por ahora, quiero que abras, si has hecho este
proyecto, solo abre esto. Vamos al jugador,
abramos la animación, abramos el
plano de animación dentro de aquí Quiero que den click en
el estado de movimiento. Entonces quiero, en la configuración
por defecto, quiero que hagas clic
en el más y
pongas el estado predeterminado a running, que es algo que realmente
nos perdimos. Así que adelante y compile esto. Vamos a cerrarlo ahora para
empaquetar el proyecto. Adelante y
primero guardemos todo. Asegurémonos de nuevo, tienes tus bloqueos de salida abiertos. Ahora, hagamos
clic derecho, borre las cerraduras. Esto es lo que me
gustaría hacer primero, verdad? Despeja los registros. Entonces sigue adelante y da clic aquí arriba, Ir a Windows y Paquete, y luego Package Project. Ahora tienes que seleccionar dónde
quieres empaquetar el proyecto. Ahora ya tengo una carpeta en mi escritorio llamada paquetes. Simplemente puedes hacerlo dentro
de aquí si deseas seguir adelante y seleccionar carpeta. Ahora va a
empaquetar el proyecto. Lo que suelo buscar aquí
en el registro de salida es Er, nuestros errores y advertencias. Si haces clic aquí arriba y
eliminas los mensajes así, podrás ver todos los
errores y advertencias. Sólo que ahora no
tenemos ninguno en estos momentos. En realidad solo voy
a hacer clic en los mensajes para ver qué está
haciendo por aquí. A veces toma 1 minuto, a veces toma 5 minutos. Solo hay que esperarlo hasta que empaquete el proyecto. De nuevo, depende del
proyecto que estés usando. Porque algunos proyectos
tendrán errores que son específicos
del proyecto. Tendrás que intentar
corregir esos errores. Por supuesto, puedes
escribir y yo puedo
tratar de ayudarte con el
empaque de tu proyecto. Ahora a veces obtienes
errores cada vez que
trabajas con bibliotecas como
lo he hecho en este proyecto. Pero si obtienes un
error dentro de aquí donde dice Estructura
desconocida, tendrás que dar click en una de las funciones y luego hacer clic
en Archivo, Refrescar todas las notas. Después hay que dar click
en el segundo,
Archivo, refrescar todas las notas. Tendrás
que hacerlo para todas
las funciones que tengas si
tienes una biblioteca de funciones. Así que solo ten en cuenta
esa, ¿verdad? Como puedes ver
aquí ahora la compilación es exitosa y
está terminada. Y siempre puedo quitar
los mensajes para poder ver cuáles son mis advertencias aquí. Es
algo de la animación y no es realmente
algo demasiado importante a veces ten en
cuenta que estos errores, a veces si los borras e intentas empaquetarlo
la segunda vez, van a ser
corregidos automáticamente. Así que solo ten
en cuenta eso también. Intenta empaquetar la segunda vez. Aquí hay algunas cosas de animación. Eliminar duplicados realmente no
importa en este momento. Eso no
es importante. Ahora he empaquetado
mi proyecto y
puedo ver mi proyecto
aquí en los paquetes. Ahora dentro de aquí,
quiero que solo seleccione todos los
archivos, haga clic derecho. Ir a Winrar, por ejemplo. Agrégalo a un archivo. Yo sólo quiero beberlo aquí. Conviértelo en una carpeta Sip. Yo sólo quiero llamar a éste, por
ejemplo, cualquiera que sea el
contraataque o mi juego,
lo que tú quieras. Haz clic en Aceptar y espera a que se
convierta en una carpeta Sip. Ahora lo que quiero
que hagas es este archivo p, puedes dárselo a tus amigos, ahora puedes
subirlo a Google Drive o subirlo a una USP.
Yo voy a hacer eso. Voy a extraerlo
en mi segunda computadora. Tengo todos esos archivos
en mi segunda computadora. Entonces voy
a probar este juego, jugarlo desde mi laptop
con esta PC también. Voy a tratar de hacer eso. Bien, ahora estoy de vuelta. Lo he agregado a mi laptop
y he creado un servidor. Entonces, lo que quiero que
hagas es hacer clic aquí arriba, establecer el número de
jugadores en uno, y luego configurar el
modo Net para que juegue de manera independiente. Esto se debe a que ahora
vamos a vapor para probar el juego. De nuevo, tienes que
tener vapor abierto, así que asegúrate de que tu vapor esté encendido, asegúrate de que estás encerrado, el
número de jugadores es uno. El modo Net es independiente. Entonces aquí arriba,
adelante y haz clic en Reproducir. Como juego independiente, tienes que hacer eso
para probarlo en Steam, así que solo asegúrate de
hacerlo ahora. Se va a abrir aquí, veamos si encuentra el
servidor desde la computadora. Dice, hola jinks. Este es mi vapor. Y sigamos adelante y hagamos clic
en Servidores conjuntos. Debería buscar mucho
más rápido que antes. Y puedes ver aquí, dice, únete a mí por favor desde laptop. Y esto es de mi laptop. Ahora bien, este ping al ser 9,999 tiene algo que ver con el firewall y otra
cosa también Escribiré esto aquí
dentro de mi blog, en mi página web, para
que siempre
puedas comprobarlo si también quieres una
solución para esa. Voy a tener algunos problemas de depuración por los
que puedes pasar. Y si, puedes echarle un
vistazo a eso cuando quieras. Pero en vez de aquí, se puede ver los jugadores son ocho.
Todo está funcionando. Puedo buscar el servidor. Si escribo algo
mal, desaparece. Si escribo, por ejemplo, únete, lo puedo ver. Escribo, quita la
búsqueda está funcionando. Ahora puedo buscar servidores
en inglés, servidores
alemanes, otros idiomas. O volver a todo lo que puedo mostrar solo servidores terrestres
y va a desaparecer porque este es un servidor público,
no un servidor terrestre. Voy a hacer click en
Ocultar servidores vacíos, se va a
actualizar una vez más, no
hay servidores vacíos. Básicamente se debe
mostrar el servidor. Vuelvo a hacer clic en Refrescar. Puedo quitar esto una
vez más y todo
está funcionando bien. Puedo dar click en él y
debería unirse al servidor. Aquí puedes ver un Únete al servidor. Ahora puedo seleccionar,
por ejemplo, Counter Terroriest, y así es como agregas Steam
Multiplayer a tu proyecto. Adelante y guarda todo. Muchas gracias
por volver a ver. Siempre puedes ir a
Game Instru.com y
lanzaré muchos más cursos
sobre multijugador en Steam, en dos juegos D en Unreal Engine Cualquier cosa que realmente desees. Así siempre puedes venir
a mi servidor de Discord, en el servidor de la comunidad, y siempre puedes escribir tus
deseos para qué cursos quieres ver si
necesitas alguna ayuda También estoy disponible para
ayudarte también. La comunidad es muy
agradable y también puedes hablar de muchas otras cosas de desarrollo de
juegos. No tiene que ser temas. Muchas gracias por ver. Gracias por
apoyarte y espero verte en mi próximo
curso. Gracias.