Twine 2: ¡haz juegos simples! Clase magistral paso a paso (Harlowe) | Eyevenear | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Twine 2: ¡haz juegos simples! Clase magistral paso a paso (Harlowe)

teacher avatar Eyevenear, Teacher in Audiovisuals, AI, Coding AND Pizza.

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      ¡Esto es un hilo!

      0:30

    • 2.

      Descarga los recursos

      0:56

    • 3.

      Instalación

      0:48

    • 4.

      Navegador

      1:05

    • 5.

      El pasaje

      1:38

    • 6.

      Estilización básica

      1:22

    • 7.

      El principio ( )[ ]

      3:07

    • 8.

      Etiquetas y tamaños

      1:32

    • 9.

      Enlace básico

      3:00

    • 10.

      El CSS

      2:29

    • 11.

      Javascript

      0:57

    • 12.

      Enlace avanzado

      1:55

    • 13.

      Izquierda derecha, parte superior inferior

      1:11

    • 14.

      Variantes macro

      1:04

    • 15.

      Variables

      3:01

    • 16.

      Global vs. Local

      1:38

    • 17.

      Aleatorización

      1:40

    • 18.

      Set vs. Put

      0:40

    • 19.

      Retrasos y ciclos de tiempo

      2:08

    • 20.

      Declaraciones condicionales

      1:44

    • 21.

      Más condiciones

      1:47

    • 22.

      Eventos

      1:13

    • 23.

      CONJUNTO IF en el interior

      2:06

    • 24.

      Ganchos

      1:24

    • 25.

      Mostrar / Ocultar

      0:46

    • 26.

      Contenedores de código

      1:00

    • 27.

      Reemplazar contenido

      1:09

    • 28.

      Recarga un gancho

      0:47

    • 29.

      Cómo apuntar un hook

      2:00

    • 30.

      Mapas de datos

      1:40

    • 31.

      Matrices

      2:44

    • 32.

      Datos en vivo

      2:50

    • 33.

      Visitas vs. historia

      2:19

    • 34.

      Optimización de espaciado

      2:29

    • 35.

      Cambio de color

      0:32

    • 36.

      Tamaño + opacidad

      1:14

    • 37.

      Estilos dinámicos

      1:25

    • 38.

      Reacción con el cursor del ratón

      0:43

    • 39.

      Verbatim

      0:38

    • 40.

      Transiciones

      1:21

    • 41.

      ¡Instala audio!

      0:44

    • 42.

      Definiciones (audio)

      1:40

    • 43.

      ¡Toca un sonido! (audio)

      1:54

    • 44.

      Detén un sonido (audio)

      1:12

    • 45.

      Reactivación (audio)

      1:15

    • 46.

      Bucles básicos (audio)

      0:49

    • 47.

      Bucles avanzados (audio)

      2:52

    • 48.

      fundido (audio)

      1:18

    • 49.

      Volumen en tiempo real (audio)

      0:45

    • 50.

      Sombreado cruzado (audio)

      3:08

    • 51.

      Listas de reproducción (audio)

      1:44

    • 52.

      Listas de reproducción barajadas (audio)

      1:03

    • 53.

      Barajeo de una sola toma (audio)

      1:32

    • 54.

      Grupos (audio)

      1:19

    • 55.

      Buscar (audio)

      1:37

    • 56.

      Monitoreo en tiempo real (audio)

      1:20

    • 57.

      Controles globales (audio)

      1:06

    • 58.

      Consideraciones de formato (audio)

      1:19

    • 59.

      Trazados relativos (audio)

      1:37

    • 60.

      Precarga (audio)

      1:32

    • 61.

      Configurador (audio)

      2:38

    • 62.

      Integración de imágenes

      1:18

    • 63.

      Reposicionamiento básico

      1:02

    • 64.

      Reposicionamiento relativo

      1:15

    • 65.

      Reposicionamiento absoluto

      0:59

    • 66.

      Integración de video

      1:52

    • 67.

      Eventos de video

      2:06

    • 68.

      Cambio de medios básico en tiempo real

      1:50

    • 69.

      Comandos clave

      2:37

    • 70.

      Evita repeticiones clave

      2:51

    • 71.

      Consejos e ideas (controles)

      1:37

    • 72.

      Entrada del gamepad

      1:15

    • 73.

      Botones hacia arriba / abajo

      2:26

    • 74.

      Análogos y disparadores

      1:28

    • 75.

      Palanca de vibración

      1:28

    • 76.

      Intensidad de vibración

      2:01

    • 77.

      Maximiza las matemáticas

      5:43

    • 78.

      Pie de página

      1:21

    • 79.

      Condiciones iniciales

      0:52

    • 80.

      Omitir código y comentarios

      0:51

    • 81.

      Difusión

      1:45

    • 82.

      Bucles for

      2:02

    • 83.

      Creación de una caja de arena

      1:34

    • 84.

      Maximiza las condiciones

      2:24

    • 85.

      Número a cuerda y viceversa

      1:08

    • 86.

      Referencias de clonación

      3:21

    • 87.

      Macros personalizadas

      1:32

    • 88.

      Máquina de escribir

      2:44

    • 89.

      Pantalla (macros personalizadas 2)

      1:03

    • 90.

      ¡Pon un cronómetro!

      3:20

    • 91.

      Guardar el progreso de carga

      3:38

    • 92.

      Stingers musicales

      11:10

    • 93.

      Monitorear los cambios (sistema de sonido de escritura)

      5:12

    • 94.

      Consideraciones finales sobre la exportación

      1:57

    • 95.

      Preparación del juego

      2:55

    • 96.

      Exportar versiones en línea

      2:57

    • 97.

      Importar fuentes

      1:08

    • 98.

      Exportar versiones sin conexión

      4:31

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

23

Estudiantes

--

Proyectos

Acerca de esta clase

DESCARGO DE RESPONSABILIDAD: Este curso NO te convertirá en un profesional de la noche a la mañana. Pero te llevará en la dirección correcta. Convertirse en profesional requiere práctica constante y pasión. Si tienes eso, eventualmente y gracias también a haber completado este curso, lo lograrás. Tienes mi completo y considerado apoyo. ¡Muy bien, lejamos!

Bien, eres alguien que quiere comunicarse.

No es ningún secreto que Twine es el rey de los juegos de texto de Elige tu aventura.


¿Quién dijo que este tipo de juego tiene que ser básico y aburrido?

¿Y si te dijera que en Twine también puedes modernizar el género hasta niveles increíbles, es decir, construir sistemas de audio/video complejos que te permitan crear experiencias muy envolventes? Bueno, ahora lo sabes.

¿Twine te permite crear un juego triple A? ¡NO!

¿Puede Twine permitirte hacer un juego indie corto e inmersivo que ya pueda volverse viral por sí mismo? ¡SÍ!

El problema es que lleva mucho tiempo dominar todas las facetas de este software de forma gratuita, y algunas personas no quieren esperar tanto, por eso este trabajo es mi regalo para ti:

Podrás tomar el atajo absoluto para alcanzar la competencia y conseguirlo en unas pocas clases porque te mostraré exactamente lo que necesitas y dejaré que tu conocimiento se expanda al máximo.

Twine Harlowe es fácil de usar, pero en realidad es muy poderoso. Encontrarás todas las formas de aprovecharlo al máximo. Este curso te guiará literalmente para pasar de saber nada a saberlo todo; luego serás capaz de realizar tus sueños con el esfuerzo adecuado.

Ten paciencia, sigue las clases lentamente y te darás cuenta de tu visión; hagámoslo.

Conoce a tu profesor(a)

Teacher Profile Image

Eyevenear

Teacher in Audiovisuals, AI, Coding AND Pizza.

Profesor(a)

Most of the people who dunno me think i just want money,
But they're so wrong. All i truly want is Pizza!!!

I'm an Italian/Canadian Audiovisual Specialist, Game Developer AND Pizza Eater.

I've built a Top-Rated community of students in Fiverr in 3 years.

My Skillshare courses are a thoughtful present to those who normally can't afford my 1:1 classes but still wanna reach a decent level with arts.

Here's how it works:
you'll see all the things I teach,
then you won't believe it,
then you'll read what people say,
and maybe (just maybe) you'll give me a shot. If not...
well, I guess YOU'll have to teach me instead ???

I'm an Italian/Canadian
Audiovisual Specialist, Game Developer AND Pizza Eater.

Innovation c... Ver perfil completo

Level: All Levels

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. ¡Esto es un hilo!: Oigan, chicos, estoy triste. Si buscas una forma sencilla de crear videojuegos, Twine es probablemente la respuesta Especialmente si quieres crear una aventura de texto o un protipo que quieras ejecutar en navegadores Ya sabes, una de las mejores características de Twine es que tiene una sintaxis llamada muy intuitiva Siempre puedes rastrear lo que estás haciendo, y puedes agregar fácilmente nuevas funciones al juego a medida que avanzas. Si no necesitas gráficos extremadamente elegantes, solo quiero que puedas demostrar el sólido concepto de juego. Bueno, este software es más o menos para ti. Entonces, si estás listo para comenzar, avísame. 2. Descarga los recursos: Muy bien, así que antes de empezar a hacer algo, necesitas descargar los recursos. ¿Todo bien? Para hacer eso, necesitas ir a la landing page del curso y luego simplemente desplazarte hasta aquí abajo, ir a los proyectos aquí, y luego solo leer la descripción y luego verás un enlace especial aquí llamado click aquí. Así que haz clic en este enlace especial, y te dará una carpeta de disco que necesitamos que descargues. Así que simplemente lo descargamos. Después de descargar la carpeta, simplemente haga clic derecho sobre el archivo y luego extraiga la necesidad de escribir una contraseña especial, ¿ verdad? Así que déjame acercarme. Entonces la contraseña es Banquete 947. Suavizar, subrayado, subrayado. Muy bien. Entonces y luego solo confirme con un par de segundos. Y tenemos todos los archivos. Muy bien. Vamos. 3. Instalación: Muy bien, entonces para la instalación, solo significa que vas a Twinry Entonces solo busca a Twinery así. Después ir al primer resultado donde vemos el icono de la aplicación. Haga clic en descargar aquí. Después, desplácese hasta el final hacia abajo. Si tienes Mac, necesitas descargar macOS DMG, este tipo de aquí Si tienes Windows, descarga este. Y en ambos casos, solo necesitas saltarte el proceso, por lo que solo lo instalas regularmente, simplemente saltas las cosas, confirme confirmar confirmar, y la aplicación estará disponible instantáneamente localmente en cualquier momento en tu máquina. Eso es. 4. Navegador: El siguiente paso es instalar cualquiera de estos cuatro navegadores Oprah GX, chrome, edge o brave Entonces si realmente quieres optimizar tu espacio de trabajo, necesitas instalar una extensión llamada Love tabs. Funciona en cualquiera de estos cuatro. Y la forma en que funciona es que copies mi configuración aquí. Déjame mostrarte lo que pasa. Si intento abrir una nueva pestaña, automáticamente cierra las pestañas más antiguas y siempre hace que exista una única pestaña. La razón por la que esto es importante es que normalmente, si no usas esta extensión, déjame mostrarte lo que va a pasar. Cuando pruebes un juego de Twin, comenzará a acumular pestañas sobre pestañas como esta, lo que obviamente va a crear algo de caos, ya sabes. Entonces para evitar que esto suceda, lo que sería un problema para la RAM, además, solo necesitas instalar este limitador de pestañas así Así que ve todo el camino de regreso a uno así. Y cuando trabajas en Twine, mantendrá de manera segura solo una pestaña abierta 5. El pasaje: Esto es lo que verás la primera vez que abriste el software. Aquí, las historias son una especie de ganancia que se le da a los proyectos. Entonces a cada proyecto se le llama historia una historia, ya sabes. Así que vamos a crear uno nuevo. Aquí, nuevo. Llámalo detalle uno. Enseguida entraré dentro de ese proyecto. Entonces cuando abras el programa, verás todos tus proyectos así. Haga doble clic. Justo así. Entonces este pequeño cuadrado de aquí es la molécula principal de cualquier proyecto entrelazado Esto se llama pasaje. Fundamentalmente, es un contenedor que contiene o algo que se mostrará como texto como este o una imagen o video, Jif o un archivo de audio, donde quiera, y siempre estará dentro de este proyecto Así es fundamentalmente como funciona. Pones el contenido aquí y para mostrarlo para simular cómo se verá en el proyecto final. Solo nos aseguramos de seleccionar el pasaje. Le renombramos inicial. Haga clic en esto y luego presione test desde aquí. Al hacer esto, mostrará que renderizará la prueba, el resultado final en el navegador, ya sabes, en el navegador predeterminado de tu sistema. Y como pueden ver, literalmente podemos verlo aquí. Entonces así de fácil es ir y venir entre el navegador y el cordel 6. Estilización básica: Así que volvamos a hacer algunas personalizaciones. Por ejemplo, como puedes ver, cuando ingresas a un pasaje, hay tantos botones disponibles. Pero por ahora, permítanme explicar de manera muy sencilla los seis primeros. Uno, dos, tres, cuatro, cinco, seis. Estos seis botones aquí están todos relacionados con las principales personalizaciones respecto a la apariencia del texto Entonces, cuando cortes un poco este texto, solo podemos seleccionarlo así. Y luego haces click en estilos como puedes ver, empezamos a ver las cosas clásicas, negrita, cursiva. Pero si quieres personalizarlo un poco más, vamos aquí más estilos. Empezamos a ver cosas extras. Por ejemplo, podemos gofrarlo o podemos desdibujarlo o sombrearlo, etcétera. Sólo hazlo brillar, por ejemplo, frotis. Y también, tenemos cosas respecto al movimiento, así podemos hacer que se desvanezca, se desvanezca, rumble sway, ya sabes, todas las cosas que lo hacen un poco más interesante, versátil para cualquier caso posible Sólo danos algunos temblores como este. Bien, entonces solo confirmamos, agregamos. Y ahora vemos que algo sucede. Antes que nada, déjame mostrarte lo que sucede en el render final. Literalmente vemos el texto con un nuevo estilo aplicado. Así de fácil es personalizar el texto. Pero déjame mostrarte lo que pasó aquí en el código. 7. El principio ( )[ ]: Entonces como pueden ver, teníamos nuestro texto aquí ahora está encapsulado por estos corchetes. Entonces fundamentalmente, cuando ves Sofi entre corchetes, puedes llamarlo contenedor Y también, antes de los corchetes, tenemos estos corchetes clásicos como este, estos paréntesis Contienen algo llamado macro. Una macro es algo que va a cambiar la apariencia o el posicionamiento o algo respecto a la lógica del juego. Es algo que te permite cambiar cómo se ve algo o modular el código de fondo del juego, ya sabes, para rastrear algo, rastrear una elección para un final un elemento siempre se logrará usando una macro Pero en cualquier caso, las macros siempre siguen la misma lógica, que es así. Se crea a él paradess así, e inmediatamente después de colocar ella corchetes así Entonces una macro en 90% de los casos siempre se verá así. Entonces aquí, donde pones el nombre de la macro real, puedes ver que como inicio a escribir, se mostrará que sugerirá todas las posibilidades. Pero por ahora, vamos a escribir, esta es una macro, mientras que dentro de los corchetes va a estar el objetivo de esa macro. Este es el objetivo de esa macro. Y ly, podemos ver que esto sucede aquí. Ya sabes, tenemos aquí esta macro, que cambia el texto, el estilo del texto. Y para decidir el objetivo, colocamos el texto dentro los corchetes inmediatamente después de la macro. Como puedes adivinar, hay casos en los que puedes apilar múltiples macros una tras otra o una dentro de la otra. Supongamos que también queremos alinear el texto, así podemos simplemente seleccionar de nuevo, el texto así. Y esta vez, damos click en este botón aquí, alineación. Vamos aquí, alineación de nuevo. Y lirio, solo seleccionamos centro. Elija una alineación personalizada. Vamos a mantenerlo ahí. Podemos ampliarlo, justificarlo, confirmarlo. Entonces tenemos ahora la macro de estilo fuera de todo. Y dentro de eso, tenemos la macro de alineación, que finalmente alinea el texto aquí Entonces, fundamentalmente, puedes apilar múltiples cambiadores, múltiples macros uno tras otro o dentro del otro Entonces, vamos a probar de nuevo este pasaje. Como puedes ver, ahora el texto no solo está con el estilo, sino que también está centrado. Y así es fundamentalmente como funciona para el 90% de los casos. Lo que te invito a hacer es simplemente jugar con estos, modular el estilo del texto de diferentes maneras, y estás bastante familiarizado con Probablemente tardará de diez a 15 minutos, para entender completamente todas las posibilidades que puedes hacer con estos primeros seis botones. Son cambiadores bastante simples. No te preocupes por todos estos botones restantes. Te voy a mostrar poco a poco todos esos 8. Etiquetas y tamaños: Otro botón útil que usarías y te recomiendo usar es el botón de tamaño. Por lo que esto te permitirá entender mejor si algunos pasajes son más importantes que otros. Entonces solo seleccionas un pasaje. Da clic en el tamaño, y puedes elegir diferentes formas para cada pasaje. Esto solo te permitirá ir inmediato donde haya un pasaje más apicultor que contenga más cosas. Otra característica que será extremadamente útil es a veces etiquetar un pasaje Entonces fundamentalmente, puedes etiquetarlo. Se le puede dar un color. Entonces, para pasajes que sirven a una función específica o que contienen un evento importante específico, puedes colorearlos así. Vas a firmar el pasaje. Usted va aquí, etiqueta, y crea una nueva etiqueta, en este caso. Entonces solo llámalo elección Pv, por ejemplo. Entonces estos van a ser pasajes que contienen una elección realmente importante que determinará un final. Entonces en ese caso, vamos a darle un color aquí, confirmar, y podemos ver ese pasaje teniendo ese color. Entonces, desde la distancia, de inmediato sabremos que va a haber una elección importante en el juego. Bueno, prácticamente puedes usar etiquetas para cualquier cosa que desees, ya sabes, pasajes que necesitan ser depurados o necesitan ser revisados Pero déjame echarle a perder eso. En realidad, las etiquetas son más que esto. Se pueden usar para hablar realmente con cordel para desbloquear funciones específicas 9. Enlace básico: Ahora, permítanme hablar sobre la funcionalidad realmente central de Twine, que está pasando por diferentes pasajes Aunque, técnicamente, es posible construir un juego completo con solo unos pocos pasajes o incluso solo uno donde se produzca toda la acción, en la mayoría de los casos, necesitarás tener realmente múltiples pasajes. Esto te permitirá tener más arreglo de la información del juego, ¿verdad? Entonces segmentarás el juego en múltiples pasos en lugar de tener un solo pasaje de BF que contenga demasiadas cosas. Entonces, eso es muy importante. Solo necesitas hacer doble clic sobre este pasaje. Vamos a crear algo llamado enlace. Crear corchetes. Y también los cierras así. Dentro de este, podemos escribir el nombre del pasaje de destino. Se puede decir que ve que algo empieza a pasar aquí. Habitación. Así. Y ahora, como se puede adivinar, ya vemos un nuevo pasaje con ese nombre. Si probamos la Sala uno, déjame mostrarte lo que sucede. Literalmente vemos un botón llamado habitación que lirio va en la Sala dos. Entonces si hago clic en esto entra en la habitación dos. Entonces ahora está vacío, obviamente. Para verificar que realmente estamos en la habitación dos, ves esta ventana aquí en la parte inferior derecha, esto se llama ventana de depuración. Es sumamente importante porque te permitirá rastrear todas las variables que han estado rastreando durante el juego, y podrás ver dónde estás ahora mismo. Estamos exactamente en el pasaje llamado Sala dos. También puede restablecer la prueba actual recargando la página Entonces, si haces algo como esto, se reiniciará desde el pasaje uno. Y vemos de nuevo esto, y ahora estamos de vuelta en la habitación dos. Este botón de aquí te permite regresar. Te mostraré más adelante cómo desactivarlo. Si vas dentro del enlace así y escribas guión mayor que si escribías una palabra personalizada, por ejemplo, continúa Ahora si volvemos a la prueba, Sala uno prueba, se puede ver que el botón ahora se muestra como continuar. Entonces es una palabra personalizada que podemos cambiar. Pero en realidad, irá a la habitación dos. Entonces cuando hacemos clic en él, puedes ver aquí estamos en la habitación dos. Guau. Entonces eso es fundamentalmente todo lo que necesitas saber sobre cordel Entonces bien, eso estuvo bien. Gracias. Solo deja una reseña. Bien, lo siento. Sólo estoy bromeando. Obviamente, sí, hay gente que crea juegos enteros solo usando el enlace básico así. Pero obviamente, si quieres tener más sistemas personalizados, si necesitas tener pequeñas cosas que están más allá 10. El CSS: Derecha. A veces te das cuenta de que estás usando un estilo específico de manera consistente para el resto de la historia. Entonces, para ese tipo de cosas que son válidas a escala global para todo el juego, tal vez sea prudente aplicar ese cambiador solo una vez usando la sección CSS Entonces para hacerlo, solo necesitas ir aquí historia luego vas a Hoja de Estilo. En esta sección aquí, podrás pegar código CSS. Ya preparé algunas cosas básicas que podrás hacer muy fácilmente. Y sólo tiene que copiar este código de uno de los documentos llamados CSS en este capítulo. Entonces déjame explicarte lo que hacen estos. La barra lateral aquí te permite desactivar la flecha de retroceso que normalmente ves cuando vas en un pasaje diferente, si la cambias. Puedo ver que ahora, si voy en la habitación dos, veo esta flecha aquí, mientras que si pongo ninguna, no mostrará nada. Entonces, en caso de que estés haciendo un libro, puede que tenga sentido que lo dejes ahí. Pero en caso de que estés haciendo un juego adecuado, tal vez quieras desactivar esa posibilidad también porque permitirá que la gente haga trampa en tu juego. También puedo cambiar el teléfono en esta sección, escribir exactamente el nombre del teléfono que quiero. Automáticamente usará eso. También se puede instalar. Te puedo mostrar más adelante cómo importar teléfonos desde un sitio web. Y aquí es donde decides el centrado por defecto de un texto Entonces, a la izquierda, va a ir a la izquierda. Déjeme mostrar. Lo mismo si escribimos bien y así sucesivamente, así sucesivamente. Entonces por ahora, solo teclea Centro porque me gusta. Y luego se puede cambiar el color por defecto de los enlaces. Entonces como puedes ver aquí, solo tienes que escribir el color específico. También puedes escribir morado, por ejemplo, y se volverá morado. Así como esto. Si quieres escribir un tono específico de color, puedes simplemente dar un código X sin procesar, pegado aquí, el código X de ese color En última instancia, también se puede cambiar el color de cuándo el enlace va a ser colocado por el cursor Entonces déjame mostrarte ahora es blanco aquí. Entonces significa que si lo vuelo, se vuelve blanco. Entonces como puedes ver, estas son cosas realmente simples, pero en realidad, ya puedes empezar a tener más poder en la estilización del proyecto Si quieres cambiar el color aquí, aún puedes dar un color personalizado, aunque en el nivel CSS, ya hay color predeterminado decidido. Y eso es todo lo que necesitas saber a partir de ahora para el CSS. 11. Javascript: La sección JavaScript será útil más adelante en el curso para instalar algunas características adicionales que normalmente guita no es capaz de hacer Por lo que la usaremos específicamente para tener música interactiva, efectos de sonido interactivos, y también para usar el teclado como entrada. Así que realmente podremos usar las teclas del teclado para controlar el juego. Entonces eso va a ser divertido. Además, también hay una biblioteca para usar el JoyPad para controlar Hay cosas tan desordenadas que puedes hacer simplemente instalando bibliotecas en esta sección Pero por ahora, esto todo lo que sabes. 12. Enlace avanzado: Bien, entonces a menos que estés en una situación la que lo único que necesitas hacer es simplemente dejar el pasaje por completo, algo así como simplemente cambiar de página y pasar a una nueva, a veces solo necesitas evitar usar el enlace básico y en su lugar, la versión más flexible del enlace Entonces necesitas escribir solo una macro como esta. Enlaza entonces entre comillas para masticar, le das el nombre al botón Entonces, por ejemplo, salir de este lugar. Y luego dentro de corchetes, podemos hacer que suceda lo que queramos. Entonces no necesariamente es dejar el pasaje. Puede ser lo que queramos. ¿Sabes? Entonces esto es fundamentalmente un botón, y podemos hacer que dentro esos corchetes sucedan donde queramos, incluso solo cientos de cosas a la vez. Simplemente tomaremos más espacio. Ya sabes, solo tomaremos espacio así. Así que comencemos con solo hacer una macro básica de go. Eso irá a la habitación dos. Así que simplemente tecleamos exactamente el nombre del destino. Entonces, ahora mismo, déjame mostrarte. Va a ser literalmente lo mismo que el enlace básico. Entonces literalmente muestra el botón. Hacemos click, y vamos a la Sala dos. Y hasta ahora tan bueno. Pero en realidad, ahí es donde entra el beneficio Ves este espacio aquí, podemos insertar donde queramos. Entonces, antes de dejar el pasaje, podemos hacer que decenas de cosas sucedan aquí en este espacio. Podemos decir variables, podemos cambiar algunas variables. Podemos desactivar algunos botones. Podemos mostrar algún contenido. Fundamentalmente, este, como puedes adivinar, va a ser el enlace que vas a usar 90% del tiempo, tal vez incluso con más frecuencia. Es extremadamente poderosa. Entonces va a ser la macro principal que usarás en cualquier juego. 13. Izquierda derecha, parte superior inferior: Fundamentalmente entrelazado, el código se lee de izquierda a derecha y de arriba a abajo Significa que si colocas, por ejemplo, vamos a crear un tercer pasaje, llámelo habitación tres, así. Y luego volvemos a la habitación uno, insertamos nuevo solo una nueva macro después de la habitación, así. Y entonces solo lo llamamos tu habitación tres. Entonces el código se va a leer de izquierda a derecha. Lógicamente, deberíamos simplemente ir a la habitación dos. Pero aquí también tenemos la Sala tres. Entonces, ¿a dónde vamos a ir? Obviamente, sólo podemos ir a un lugar. Vamos a comprobarlo. Entonces vamos aquí, prueba. Bien, prensa. Bien, así que aterrizamos en la habitación dos Fundamentalmente, ya que dejamos completamente este pasaje en este punto, en este punto exacto, el resto del código de aquí en adelante será completamente ignorado. Si quieres que las cosas sucedan antes de salir del pasaje, se va a colocar a la izquierda de GT. 14. Variantes macro: Para muchas macros, también hay variantes. Ya sabes, hay una especie de versión base, que en este caso, es solo el enlace, pero hay variantes que están especializadas para un caso específico. Estas son un tipo de cosas que en cierto modo puedes empezar a ignorar porque son secundarias. Pero a veces para ahorrar tiempo, es posible que empieces a memorizar algunos de esos Por ejemplo, uno de los casos más comunes para el enlace es exactamente ir a otro pasaje. Y como puedes adivinar, hay una versión del enlace llamado Link déjame mostrarte tinta ir a. Como puedes ver, te muestra todas las posibles variantes de esto. Entonces como puedes ver hay uno llamado Link go, o. revisa la documentación para verificar exactamente cómo funcionan. Pero ya sé que esto funciona dando cotizaciones cho. Entonces uno va a ser el recibo de nombre y la segunda cotización para el destino. Como puedes ver, las variantes te permiten ahorrar algo de espacio en el código. Así que vamos a probar. Bien. Proceder. Obras. Quién. 15. Variables: Entonces en este punto, probablemente entendiste que dejar un pasaje ignora por completo todos los datos persistentes conocidos en el juego Probablemente te estés preguntando si hay alguna manera de hacer que algunos datos sean persistentes para que el juego sea realmente persistente. Recuerda algunos números específicos, piezas de información. Es necesario utilizar variables. Es necesario definir una variable para que exista. Para hacerlo. Vamos a crear un pasaje sencillo. Digamos que cuando estemos en la habitación uno, ya vamos a guardar una variable. Así que vamos a usar este conjunto de macros. Entonces hay que escribir el dólar y darle un nombre a esa variable. Entonces solo lo llamamos dinero por ahora. Y luego tecleamos dos. Una variable puede ser o bien un número, así que podemos simplemente escribir cero. Así que pon el dinero a cero, prueba. Bien, ya ves, empezamos a ver que la variable se registra con el número cero. Entonces funcionó. El segundo caso va a ser una cadena. Entonces, para hacerlo, solo teclee dos códigos y vamos a escribir bajo. Entonces en este caso, va a ser una cadena. El dinero es la cadena baja. Bien. Por último, tercer caso, verdadero o falso. Así que vamos a escribir false. Bien, entonces el dinero es el valor booleano cae. Bien, en caso de que se haya registrado correctamente. Entonces es una especie de interruptor. Ya sabes, puede ser verdadero o falso de una manera muy útil. Pero es algo igual si solo usas un cero, uno o verdadero o falso, también solo aquí usando una cadena. Todos estos tres casos son intercambiables. Entonces solo necesitas desarrollar tu propio gusto por tus variables y simplemente apegarte a esas. Ya sabes, hay casos en los que necesitarás tipos específicos de variables. Por lo que es muy importante poder usar todos estos tres, ¿verdad? Y eso es todo lo que necesitas saber sobre las variables. Este valor podrá cambiar con el tiempo en la historia. Digamos que queremos cambiar el valor en cuanto hagamos clic en este enlace, váyase. Así que sólo pega otro aquí, ponle dinero. Entonces significa dinero más uno. A ver si puedes adivinar qué va a pasar. Entonces llegamos a la habitación uno. Como puedes ver, tienes dinero cero. Y en cuanto haces clic en dejar, ¿quién, ves qué pasó? Ahora se convirtió en uno. Entonces así es como puedes cambiar muy fácilmente los valores de una variable en el juego. Ese es el primer caso. Mismo principio en caso de que uses una cadena. Entonces, si tecleas bajo y quieres cambiar una nueva cadena tan pronto como hagas clic, obviamente, va a cambiar la nueva cadena. Entonces déjame mostrarte así que es bajo, si hago clic. Hola. Bien. Eso es fundamentalmente todo lo que necesitas saber por ahora sobre las variables. 16. Global vs. Local: En realidad hay dos tipos de variables. Puede ser global con el dólar. Va a persistir por el resto del juego, o también hay variables locales que pueden autodestruirse en cuanto salgas de ese pasaje. Quizás te preguntes por qué quizás quieras eliminar algunas variables. Bueno, con las variables locales, puedes simplemente desarmar la ventana dbug cuando finalmente dejes ese pasaje y dejar más espacio leer mejor el código para cosas más importantes, para usar En lugar del dólar, usas subrayado. Bien. Y vamos a darle un nombre ligeramente diferente como estatus. Bien. Feliz. Entonces ahora, en teoría, cuando probemos este pasaje, tendremos también un arb local como pueden ver, tenemos estatus registrado con la cuerda, feliz Cuando deje este pasaje, preste atención en este lugar aquí. En cuanto lo dejo, tres, dos, uno. ¿Ves lo que pasó? La variable status ha sido completamente destruida. Ya no existe. Entonces así de útil es usar a veces las variables locales. Si por casualidad usa variables locales, a veces puede tener algunos problemas adicionales. Entonces, a menos que tenga sentido, no los use. Y también, asegúrate de ponerlos al inicio del pasaje. Porque si los colocas al final, a veces puede crear algunos problemas. Déjame probar aquí. A lo mejor seguirá funcionando. Sí, en este caso, todavía funciona, pero es más prudente establecer las variables locales lo antes posible Así que solo coloca esos todo el camino hasta la cima aquí. 17. Aleatorización: Dos Ahora, déjenme decirles también un par de cosas para flexibilizar la configuración de una variable. Entonces supongamos que quieres establecer un número aleatorio cuando decides el valor inicial del dinero. Así que listo. Pero esta vez, en lugar de dar un valor fijo, corchetes, luego escriba columna aleatoria. Y aquí solo definimos un rango. Entonces, por ejemplo, digamos que va a ser 0-1 mil Así, con este truco puedes establecer números aleatorios dentro de ese rango. Prueba. Se ha establecido 50. Entonces si recargamos este pasaje, 676 543. Entonces cada vez que recargo el pasaje, como pueden ver, reinicie la prueba, y podemos ver que cada vez, tenemos una prueba aleatoria La otra forma que es muy similar al azar se llama cualquiera. Entonces si vamos aquí y cambiamos con E tampoco, así, 500, lo que sea, ya sabes, así. La diferencia entre random y cualquiera es que, en este caso, ya sea, va a elegir solo uno de esta lista que creamos. Entonces déjame mostrarte como puedes ver ahora es cero. Nuevamente, cero, 100, diez, como puedes ver, ambos son similares, pero son ligeramente diferentes en la forma en que funcionan. Eso ya va a ser extremadamente útil si queremos asignar, como un daño aleatorio o quieres asignar un bonus. Y obviamente, o también pueden ser cuerdas, tristes, felices. Asegúrate de que obviamente separes todos los valores con comas así, eso es. 18. Set vs. Put: Bien. A veces puede sentir la necesidad de establecer la variable de una manera ligeramente diferente. Para hacerlo, solo puedes usar una variante de set, que se llama put. Así. Es fundamentalmente lo mismo que set, pero a la inversa. Entonces solo define primero el valor que vas a dar y pulgada. Como puedes ver, es lo mismo que set, pero ponemos el valor y luego el destino. Poner feliz pulgadas de dinero. Con la cuerda, feliz. Quién. A veces puede tener sentido poner el valor real en la parte frontal del código, para que pueda ver fácilmente 19. Retrasos y ciclos de tiempo: Bien, así que dediquemos un par de segundos a hablar de macros relacionadas con el tiempo. Solo supongamos que queremos retrasar esta macro aquí un cierto número de segundos, ¿verdad? La forma más sencilla de hacerlo es usar después de así, 3 segundos. Entonces tres a. también se pueden poner números de milisegundos. Ponemos la macro put dentro después. Sólo después de 3 segundos que ingresemos al pasaje, veremos que se establece la variable moni Entonces vamos aquí. ¿Uno, dos, tres? ¡Hurra! Así es como funciona. Fundamentalmente, retrasa un evento por cierto número de segundos o incluso minutos, ya sabes, depende. Eso es. Bien, ahora, en teoría, después de 3 segundos, veremos que el dinero se convierta en uno. Simplemente dicen que queremos que esto suceda sólo después de clic en este botón aquí, así. Entonces solo Lily cambia el nombre a vivir, 3 segundos. Entonces finalmente podemos cambiarlo dentro de Link. Bien. Así que vamos a ir aquí. Como puede ver, por ahora no vemos ninguna variable. Entonces en el, si acabo de hacer clic aquí, Bien, esperamos 3 segundos. Deberíamos decir, Bien, empezamos a ver el número uno. Y te das cuenta de una cosa, está empezando a aumentar cada 3 segundos. Entonces la razón por la que esto está sucediendo es que vivir por defecto, es una especie de bucle. Por lo que repite esa función cada 3 segundos en este caso. Entonces es como aumentar infinitamente el dinero en uno cada 3 segundos. Entonces eso es una cosa. Pero supongamos que queremos que el evento suceda sólo una vez. Hazlo. Escriba paréntesis, deténgase y ahora hará que el evento solo ocurra una vez Déjame mostrarte. Haga clic en 1 segundo. Como pueden ver, simplemente se detuvo. A uno. Entonces ese es el equivalente a después, pero mucho más flexible. 20. Declaraciones condicionales: Dos. Supongamos que quieres que algo suceda solo cuando se cumplan condiciones específicas. Queremos ir a un pasaje específico cuando la variable Moni haya alcanzado cierto valor mínimo, ¿verdad? Simplemente modifiquemos, antes que nada, este enlace aquí, así que va a aumentar este número infinitamente Después de que se haya incrementado el dinero, inserte una nueva macro aquí llamada I. Simplemente rompes la línea así. Bien. Entonces la forma en que funciona esta macro es que aquí especificamos la condición. Entonces digamos si gemir es mayor. Entonces podemos usar mayor, menor. Probablemente viste esto en la escuela, ya sabes, mayor medida es menor o igual que. Estas son una especie de todas las posibilidades, ¿verdad? Entonces, por ahora, vamos a escribir más de tres. Esta va a ser nuestra condición. Simplemente especifique lo que sucede. Ir a un pasaje específico dentro de los corchetes. Ir a la Sala tres. Ahora, en teoría, veremos al moni aumentando y sólo cuando llegue más allá de tres, inmediatamente irá a la sala tres Vamos. Entonces solo toma atención en esto. ¿Uno? ¿Dos? ¿Tres? Cuatro. Bien, ¿ves lo que pasó? Ahora, en cuanto llegamos a cuatro, que es mayor que tres, dejamos el pasaje, y en CNC ahora estamos en la sala tres. Uf. Entonces así funcionan las condiciones. Y no tienes idea cuántas veces vas a usar esto porque te permiten hacer más intrincada tu lógica del juego 21. Más condiciones: Dos macro I también puede monitorear para múltiples condiciones. Por ejemplo, puedes ir aquí al final de esto si, y solo necesitas escribir paréntesis y luego else si Fundamentalmente, es un segundo si donde se acaba de definir una nueva comprobación, una nueva condición. Entonces, antes que nada, permítanme hacer un cambio aquí. Digamos que fijamos el dinero a un número aleatorio, como un dado. Entonces solo vamos aquí si Moni es uno, uno. De lo contrario si Moni es él, che. Y también para que esta más clara imprima físicamente el texto de la variable moni después de que se actualice Entonces vemos li si es cierto o falso. Así. Acabo de probar. Bien, vete. Entonces vemos la variable uno. Ya ves lo que pasó. Sólo cuando llega a uno , imprime uno así. Y lo mismo cuando llega a dos al azar. Eso se puede ver. Bien, dos, y luego otra vez, cuando vuelves a variables dos, así sucesivamente, a la derecha Digamos también que queremos ver un texto para todos los demás casos. Para hacerlo, solo inue se después de todo el se ifs, s, lo que significa hacer esto en todos los demás casos que no son los anteriores, ya sabes, así que ni este ni este Older Bien, Olor, olor, orden y solo es uno o dos cambios Pero en todos los demás casos, imprime Odor. Whoo Así que eso aumenta exponencialmente el poder de I. 22. Eventos: Hasta el momento, construimos un sistema donde combinamos la macro en vivo con la macro I. Pero en realidad, hay una macro específica que puedes usar para hacer un I en línea, por lo que se dispara tan pronto la condición se cumple automáticamente. Entonces solo lo ponemos en la parte inferior. Así. Bien, se llama evento. Y la forma en que funciona es que tecleas cuando gemir es uno, ve a la Sala tres Fundamentalmente, esto es lo mismo que usar un live plus F. Va a estar listo para desencadenar esto tan pronto como se cumpla la condición. Súper rápido, ya sabes, lo más rápido que puedes hacer. Hagámoslo un poco más interesante. A lo mejor disminuimos aún más la velocidad, pero aumentamos los números. Vamos a probar esto. Vamos. Entonces va va va hasta que finalmente tocaremos uno, e inmediatamente irá automáticamente a lo que configuramos. Ese es fundamentalmente el poder de la macro de eventos. Sólo un consejo, no abusar de esos. Ya sabes, no abusar de múltiples avant demasiadas veces. Únicamente utilízalas si es necesario. 23. CONJUNTO IF INTERIOR: ¿Y si quisieras incorporar una condición if directamente en la definición de una variable? Se puede hacer con la macro condición. Así que vamos a definir, antes que nada, de nuevo, set mon, mooning random $1-100 Quizá 10 mil. Bien. No sabemos si vamos a tener sólo $1 o 10,000. Derecha. Para definir si somos ricos o quebrados, solo podemos hacerlo desde aquí. Así que establece el estado, tipo cono. Entonces llama a la variable, necesitas verificar. Así que el dinero. Digamos que si es mayor a 9,000, vamos a asignar la cadena rica, elegir estado Y luego necesitamos definir qué cadena se asignará para todos los demás casos. Entonces va a ser coma y dar un valor para todos los demás casos. Entonces digamos que se rompió, prueba. Entonces ahora estamos en quiebra porque, como pueden ver, el dinero sólo obtuvo 1054 Entonces, si recargamos se rompió de nuevo, 7,000 cerca, otra vez, otra vez, con el tiempo va a ser rico Vaya, vaya, vaya. Bien. Vaya, Rich. Porque, como pueden ver, el dinero ahora supera los 9,000. Así es como funciona. La condición es extremadamente poderosa, y se puede incorporar donde la queramos. Puede estar incluso dentro de la impresión, y también se pueden definir múltiples condiciones en la misma cond Bueno, solo copia esto. Simplemente definamos un caso intermedio donde estás por encima 2000 y es inferior a 9,000 Bien. Entonces, en ese caso, podemos decir que es tapete. En todos los demás casos, en realidad estará quebrado. Bien, M, porque, como puedes ver, somos 7 mil. Mat, solo ten cuidado en este punto. Nuevamente, M, Matt. Bien, ahora estamos realmente quebrados porque como pueden ver, solo tenemos 69 dólares 24. Ganchos: Supongamos que a veces es posible que necesites tener un fragmento de texto que quieras ocultar y mostrar dinámicamente, o quieres tener un trozo de código que quieres volver a ejecutar solo cuando quieras. Para hacer cosas como esta, necesitas usar ganchos. Entonces los ganchos son fundamentalmente mini párrafos que son una especie de mini contenedores que pueden contener algo que se mostrará o código, y pueden ser reemplazados. Se pueden ocultar, mostrar, volver a ejecutar. Te voy a enseñar cómo hacer todas estas cosas. Vamos a leer un nuevo pasaje aquí. En primer lugar, sólo tienes que escribir una línea vertical así. Y le das el nombre a este gancho a este contenedor. Enganche uno. Entonces hay que decidir ¿este gancho va a ser visible por defecto u oculto por defecto? Si quieres que esto sea visible, solo tienes que escribir más grande que este símbolo aquí. Entonces sólo tiene que escribir los dos corchete como de costumbre. Y como pueden ver, completa la función, y ahora podemos escribir donde queramos aquí cuando prevea este pasaje. Es como si acabara de escribir normalmente ese texto, pero ahora está dentro de un gancho. Supongamos que queremos que el gancho sea invisible por defecto. Bueno, solo cambia este símbolo con los paréntesis cerrados así No vemos nada. 25. Mostrar / Ocultar: Siempre usarás una macro llamada show. Después escribe signo de interrogación y nombra el gancho. Entonces gancho, uno. Entonces ahora, como pueden ver, también, hay un partido después de 1 segundo. Muy bien, uno y espectáculos. Lo mismo para el reverso. Entonces si por defecto es visible, puedes ocultarlo. Cambiar espectáculo con altura. Entonces después de elegir segundos , ocultará el gancho. Uno, dos. Ocultar. Como puedes adivinar, esto puede suceder también con vivo, con evento. Puedes ir con fantasía y encontrar nuevas formas mostrar u ocultar un gancho de diferentes maneras. Ya sabes, no hay límite fundamentalmente. 26. Contenedores de código: Oh. Otra característica sorprendente de los ganchos es que también puedes colocar código dentro de él. Para que puedas ocultarlo por defecto. Si colocas un código dentro de él, solo se activará, solo comenzará cuando abras el gancho, solo cuando lo muestres. Entonces, si nosotros, por ejemplo, colocamos algo que se pone en vivo así, cada medio segundo aumenta uno la variable de dinero y la imprime. Ya que está dentro, el gancho está oculto, no veremos nada cuando probemos el pasaje. Vamos a ir aquí. Como pueden ver, no tenemos nada, y tampoco tenemos la variable. Pero en cuanto presiono esto, empezamos a ver que la variable se imprime y va y sigue. Entonces es una especie de caja que contiene toda la información, y solo comienza solo cuando la abres. Esa es la belleza de los anzuelos. Puedes usarlos para desencadenar avance completo en la lógica misma solo cuando quieras. 27. Reemplazar contenido: También puedes cambiar dinámicamente el contenido de un gancho. Para hacerlo, es necesario utilizar las macros de reemplazo. Reemplazar, apuntamos el gancho o los ganchos que necesitamos cambiar. Enganche uno por ahora. Dentro de las plazas, solo tienes que colocar el nuevo contenido que se colocará en lugar de este del antiguo. Por lo que sobresritará por completo el código antiguo. Por ahora, solo selecciona una secuencia de ceros como esta. Presionamos ir para mostrar el contenido estándar, y en cuanto presionamos cambio, ¿ves qué pasó? Ahora vemos el nuevo contenido en ese gancho. Entonces, obviamente, puedes repetir este paso dinámicamente. Puede ser extremadamente útil para diálogos y juegos dinámicos o incluso desde el propio código Solo ten cuidado cuando uses esto con funciones en vivo. Si hay una función en vivo, tal vez sea prudente intentar incorporar el reemplazo en el gancho mismo o incluso asegurarse de que detenga la función en vivo de lo contrario, puede que aún se esté ejecutando en alguna parte. 28. Recarga un gancho: Entonces, como pueden ver, ahora mismo, hemos fijado el dinero a ocho más diez e imprimirlo. Entonces como pueden ver, se va a mostrar. Entonces, si corremos este pasaje, solo vemos el número diez, y eso es todo. Así que supongamos que queremos que crees un botón que le diga a este gancho que vuelva a ejecutar este código, y en teoría, veremos un número mayor. Así que solo ve aquí, crea Link, inténtalo de nuevo, y luego dentro de él, vamos a colocar la macro re run. Llamamos al gancho objetivo, así que solo engárguele uno, y luego solo ve aquí. Prueba, tenemos el botón. Entonces en cuanto lo presione, Who. Ya ves lo que pasa. Entonces , como que le dijo al gancho. Bien, vuelve a ejecutarte. 29. Cómo apuntar un hook: Todo bien. Y por último, déjame mostrarte un enfoque un poco más avanzado donde, por ejemplo, tienes múltiples ganchos con contenido diferente. Supongamos que tienes un sistema que esconde solo uno de ellos a la vez. Para discernir el objetivo dinámicamente sin tener que crear demasiadas copias del mismo código, un enfoque será usar los llamados ganchos llamados macro Déjame mostrarte cómo funciona. En primer lugar, un botón para elegir el objetivo. Entonces objetivo uno, y usaremos una variable llamada target para enganchar uno. Entonces solo copiamos y pegamos esto para el objetivo dos. Bien. Bien. Simplemente creamos un tercer enlace que será utilizado para finalmente ocultar uno de ellos. Así que solo esconde objetivo. Y aquí solo jugamos al escondite. En lugar de nombrar directamente solo un gancho, lo hacemos dinámico Usa la nueva macro, que se llama Hooks name. Este de aquí, así. Y luego usamos la variable target así. Entonces fundamentalmente, lo que va a pasar es que primero, presionamos uno de estos botones para elegir objetivo uno o objetivo dos. Y luego al final presionamos el segundo botón aquí, escondemos el blanco, que automáticamente va a ocultar el gancho correcto, según el que presionamos antes aquí. Déjame mostrarte. Digamos que apuntamos al número. ¿Bien? Entonces puedes ver la variable aquí siendo establecida. Target is hook Q. Si presiono ocultar el blanco, ahora va a ocultar este de aquí, el segundo. Nosotros. Así es como funciona. Déjame mostrarte también el primero. Entonces, obviamente, si presionamos solo esto sin que se establezca un objetivo, probablemente será un error, porque no tiene todavía un objetivo establecido. Entonces hay que establecer el objetivo. Así que vamos a apuntar a un diseño como este. Y ahora, si nos escondemos, automáticamente ocultará el objetivo correcto. 30. Mapas de datos: Déjame mostrarte cómo usar los datos en paquetes. Crear una primera situación en la que fijemos un dinero a diez. Queremos establecer automáticamente el estado en quebrado o rico. De acuerdo con este número aquí, entonces establecemos estatus dinero, que es la fuente de la modulación del mapa de datos DM. Y dentro del mapa de datos, utilizamos pares de valores. Entonces, por cada valor posible que se le pueda asignar al dinero, devolveremos un cierto valor específico. Esa es la forma en que funciona un mapa de datos. Entonces solo vamos aquí, y sabemos que el dinero sólo irá a uno o mil. Entonces dentro del mapa de datos, podemos simplemente escribir una coma, asignar la cadena, se rompió, obviamente Después el coma cuenta para el segundo caso, mil ricos. Y en este punto, podemos simplemente imprimir el estado uno o mil. Bien. Déjame mostrarte lo que pasa. Así quebrado, rico, rico, rico, quebrado. Que cuidadosamente este número aquí. Entonces estamos en quiebra sólo cuando es uno. Y somos ricos exactamente cuando son mil. Vaya, esa es la belleza de los mapas de datos. Siempre tenga cuidado porque necesita asegurarse de que ese mapa de datos tenga en cuenta todos los casos posibles. De lo contrario, devolverá un error. Por ejemplo, escribe un número extraño que no registramos en el mapa de datos como este número aquí. Bien, inmediatamente. Entonces ahora funciona, ahora funciona, y eventualmente se romperá porque hay un número que no registramos. 31. Matrices: En caso de que te estés preguntando si hay una manera de tener la máxima flexibilidad, la respuesta es usar arrays. Fundamentalmente, las matrices son la forma más general empaquetar múltiples tipos de datos en un mismo lugar. Para hacerlo, muy sencillo. Usted acaba de establecer una variable. Entonces le das un nombre a ese grupo de datos, eliges la casilla uno, y luego choo A, y aquí simplemente podemos escribir donde queramos Establezca el primer número para que sea uno, dos, tres. Entonces como puedes ver, pueden ser o bien tipos mixtos de valores en el mismo paquete. Eso hace que los arreglos extremadamente flexibles y potentes. Los usas todo el tiempo. En este punto, tenemos una matriz que contiene uno, dos, tres, cuatro valores. Todo este paquete se llamará caja uno. Déjame mostrarte lo que pasa. Registrará todo el contenido de la casilla uno como elementos individuales. Y probablemente te preguntes qué podemos hacer con las matrices. Bueno, si ponemos a Ming, cuadro segundo, por ejemplo, así, así como así. Entonces fundamentalmente con esto va a sacar el segundo valor de caja y ponerlo en dinero. Bien. ¿Ves lo que pasó? Acabamos de asignar el segundo valor de la caja uno al dinero. Entonces podemos usar tercero, aquí, y así sucesivamente y así sucesivamente. Como puedes adivinar, hay una manera de cambiar el contenido de una matriz después de que ya la hayas dicho. Sólo hagamos lo siguiente. Después de segundos, ponemos cero adentro. Cajas segunda posición. Imprimir. Bien. Vamos a hacerlo. Bien. Ahora acabamos de imprimir caja segunda posición, que inicialmente era 1,000, pero después de 2 segundos, se ha cambiado con cero. Y finalmente, otra cosa que puedes hacer con arrays es convertir cada valor dentro de uno en variables reales. Para hacerlo, es necesario utilizar la macro pack. Entonces ve aquí. Tecleamos desempaquetar la caja uno, obviamente, entre paréntesis. Y aquí solo volvemos a escribir array. Pero esta vez, solo necesitamos escribir el nombre de las variables y debemos asignarle a cada uno de estos valores. Tenemos uno, dos, tres, cuatro valores, así que vamos a crear cuatro variables. Entonces va a ser el valor uno, así sucesivamente y así sucesivamente, así. Así es como funciona. Como puede ver, el valor uno, dos, tres, cuatro tienen respectivamente exactamente los números del array box original. Eso va a ser sumamente útil, sobre todo para comandos en juegos de batalla. Pero en realidad, puede ser bastante utilizado para cualquier cosa que desees en ese momento. 32. Datos en vivo: Visualización de datos en vivo. Ya conoces el comando print, que permite mostrar en realidad algunas variables o donde sea. Si lo encapsula dentro del live, obviamente, haremos una variable de display, siempre actualizaremos al último valor, ¿verdad Entonces ya lo sabemos en este momento. Pues si quieres poder escribir algo en tiempo real, solo necesitas usar esta nueva entrada de macro así, y solo necesitamos escribir para ligar así. Simplemente nombra una variable a la que quieras asignarle este valor uno. Déjame mostrarte cómo se ve. Literalmente tenemos un cuadro de texto donde podemos escribir donde queramos. Y puedes ver que en cuanto tecleamos, la variable real se actualiza con ese valor que firmamos aquí con el Srick, este valor que teclees ahí puede desencadenar algo Si hay un evento que está monitoreando para ese valor, lo segundo que puede necesitar a veces para mostrar los datos en vivo es algún tipo de deslizador que se mueve acuerdo a una variable cambiando con el tiempo, como una barra de salud, por ejemplo, hacer algo así. Solo necesitas usar la macro del medidor. Entonces simplemente escribe meter, bind, y la variable de la que va a sacar los valores. Así que digamos que coma y luego solo asegúrate de definir el número máximo. Digamos 100. Entonces coma, otra vez, solo escriba X así. Esto es algo así como donde va a estar alineado, también. Va a ser al centro, a la izquierda a la derecha. Y X significa solo al centro automáticamente. Por último, vamos a darle un color para la barra. Tan amarillo. Ahora establece un valor para eso. Entonces obviamente esto va a cambiar en tiempo real si creamos un después de 1 segundo, él a 15. Y luego creamos un segundo después de este tiempo, 3 segundos. Cuando lo bajamos a diez así, intentemos. Bien. ¿50? Guau. Y así de fácil es integrar una barra de espejo en tus pasajes. También pueden residir , alineadas donde quieras. Y como pueden ver, no hay frontera para este bar. Entonces simplemente tecleamos B para R, así. Y luego sólido. Y esto va a dar lindas fronteras sólidas que hacen que parezca más legítimo, como una barra de salud real Vaya, hay formas avanzadas de personalizar estas barras. Se puede tener, por ejemplo, un degradado en el que tipo de cambio de color según donde se encuentre, o cambiar la forma en que se llena. Ya sabes, a lo mejor puede llenarse desde el centro hasta las fronteras o al revés. 33. Visitas vs. historia: Dos así que supongamos que queremos desencadenar algún evento especial en la sala cuatro, pero sólo cuando regresemos al menos tres veces a este pasaje. Para hacerlo, solo necesitamos poner un buen si condición en la parte inferior, así. Yo me siento es igual o mayor que tres, digamos. Entonces simplemente vamos a un pasaje secreto o podemos activar algo en esta página misma. Así que vamos a entrar en un pasaje completamente secreto. Empezar desde la habitación tres. Entonces habitación regular tres, cuarto cuatro, tres, cuatro, tres. Ahora ten cuidado. Bien, como pueden ver, regresamos por tercera vez a la sala cuatro, pero en cambio, nos han redirigido a un pasaje diferente Esa es la habitación secreta uno. Así es como puedes usar esta variable especial. Esto es realmente poderoso para esto. Y por último, déjame ir solo un nivel más profundo. Ahora supongamos que después de pasar por la habitación secreta uno, volvemos a la habitación tres, y queremos que la habitación tres sea consciente del hecho de que entramos en la habitación secreta y así desencadenar algún secreto adicional en la habitación tres misma. Nos hace falta historia. Entonces vamos aquí en la parte inferior de la habitación tres. Se crea un historial de condición simple si donde su nombre contiene. Dentro de las comillas, tecleamos el nombre del pasaje que necesitamos para monitorear las visitas de. Entonces en este caso, habitación secreta uno. Y fuera de los paréntesis, solo tecleamos apóstrofe S, longitud y finalmente, aquí podemos decidir cuál es el número mínimo de visitas que desencadenará Entonces en este caso, sólo uno mayor que cero. Entonces, lo que significa toda esta línea es que en caso de que pasáramos por habitación secreta al menos una vez, activaremos los tres secretos. Simplemente prueban este pasaje. Entonces en la Sala tres, ahora como pueden ver, aún no vemos los thras secretos si finalmente llegamos al pasaje secreto Bien, volvamos a la habitación tres. Y si hacemos de todo. Bien. Quién como puedes ver, eso es lo que pasó. Como acabamos de pasar por el secreto, la habitación tres ahora comprobó que efectivamente pasamos por 34. Optimización de espaciado: Todo bien. Entonces ahora solo hablemos de espaciar correctamente las cosas cordel Fundamentalmente, el código y el texto que se mostrará siempre ocuparán algún espacio en la página. Entonces, en teoría, si renderizamos esto, será exactamente uno tras otro derecho. Pero si tecleamos algún código, si hago este pasaje, déjame mostrarte lo que pasa. En realidad toma espacio. El truco para colapsar automáticamente todo el espacio. Solo necesitas ir en la parte superior del pasaje, escribir un lindo, corchete rizado. Sólo ábrelo así. Y luego en la parte inferior, ciérrala. A esto se le llama colapso. Y lo que hace es exactamente usar automáticamente el menor espacio posible. Déjame mostrarte lo que está pasando. Como puede ver ahora, colapsó tanto que también colapsó los saltos de línea. Entonces, como que resolvió un problema, pero también creó uno nuevo. A lo mejor queremos preservar los saltos de línea. Solo necesitas escribir el salto de línea HTML estándar. Copia exactamente esto. Es lo mismo. Esta pista te permite usar ambos. En teoría, aún deberíamos tener a Quién. Lo mismo, pero también con el que finalmente ignoré por completo. Si usas el colapso parcial, que se ve así, abre el corchete y luego es igual. Como se puede ver, se convierte en función lista. Cuando uses esto, solo colapsará el espacio a partir de ese momento. En teoría, veremos a los tres primeros normales porque está completamente renderizado. Los tres siguientes con el colapso espacial. Entonces ya no habrá saltos de línea. Déjame intentarlo. Bien. Entonces ese también es otro truco. Entonces, para usar el espacio de colapso parcial, en algunas situaciones, es posible que deba usar esto en lugar del estándar para colapsar. Y déjame mostrarte una cosa más. Supongamos que tenemos un salto de línea real como este, pero quieres colapsarlo sin usar el truco de colapso real. Para hacerlo solo en líneas específicas, simplemente escriba la pestaña inversa, y automáticamente colapsará la siguiente línea. Entonces déjame mostrarte lo que pasa solo con esto. Automáticamente colapsará solo el salto de línea. 35. Cambio de color: En este punto, ya sabes salizar el texto de las formas más básicas Ahora, déjame mostrarte todo un extra de cosas para simplemente expandir el conjunto de personalizaciones que puedes aplicar a un texto o donde quieras Para cambiar el color del texto, guión, y luego, como puedes ver, te sugiere cosas que podrías hacer Pero uno de esos es el color. Aquí, solo escribe donde queramos. Púrpura, y luego simplemente encapsular el texto exactamente. Morado. ¡Pooh! 36. Tamaño + opacidad: Supongamos que quieres hacer un trozo de texto, más grande que uno diferente. Cambiemos el color del texto con el tamaño del texto. Hay que tener cuidado porque el tamaño va de uno, lo que significa que no hay cambios. Y entonces, obviamente, si insertamos 0.5, será la mitad del tamaño inicial, así como así. Y así sucesivamente y así sucesivamente. Entonces, si quieres hacerlo tres veces más grande, poner tres debe decidir la opacidad de un trozo de texto o cualquier otra cosa escribir opacidad así como Y luego lo mismo. Entonces va de uno, que es el medio básico sin cambio, totalmente opaco. Él abajo. Hagámoslo realmente casi completamente transparente. Entonces 0.25 y obviamente, va a verse muy ligero, así como así. Como puedes adivinar, puedes combinar todas estas cosas con solo agregar un ruido más 0.5 opaco y también cambiar el color, escribir ruido. Además, y agrega cualquier otro cambio que quieras apilar encima del primero. Ahora muestra un texto también de menor tamaño, para que puedas ver todas las propiedades apiladas una encima de la otra. Entonces cambiamos el color, la opacidad y el tamaño todo al mismo tiempo 37. Estilos dinámicos: Supongamos que quieres que estas propiedades sean dinámicas. Los dos casos más comunes que podrías usar, pondrías todo esto en algún tipo de evento en vivo. Entonces puedes colocarlo ya sea dentro del gigante vivo así, y luego simplemente cambias algunas variables o de una manera, simplemente colocarías todo en un gancho, y luego puedes volver a ejecutarlo con las variables que simplemente lo hacen. En lugar de usar los valores fijos aquí, solo usamos variables. Entonces literalmente aquí O P uno, bien, entonces aquí usamos color, talla única, ¿qué? este momento, estas variables solo tienen el valor por defecto, que será cero. Así que establece los valores predeterminados. Así que también puedes adivinar que solo puedes establecer múltiples variables usando un solo conjunto. Dicho esto, apenas empezamos a poner a prueba a este tipo, si funciona por sí mismo. Bien. Ahora, para poder cambiar estas cosas dinámicas, manera podría ser crear un evento después de 2 segundos que ingresemos al pasaje, cambiar todas estas bonitas propiedades a nuevos valores. Entonces hacemos que el texto sea más grande, así. Cambiamos de color. Blanco. Opacidad elige 0.5 Bien, vuelva a ejecutar texto así, y eso es todo. Entonces déjame mostrarte un mensaje de texto. Uno, dos, Magic. Quién. Entonces ahora puedes imaginar lo flexible que puede llegar a ser este sistema. 38. Reacción con el cursor del ratón: Supongamos que tenemos un texto invisible, texto, color, transparente. Entonces, por defecto, va a ser invisible. Pero entonces cuando volemos el cursor, ese texto va a hacerse visible o va a cambiar de color La forma de hacerlo solo usa el estilo hover. Así. Aquí se define cuál es el cambio que va a ocurrir, cambiar el color del texto a blanco. El firmar el texto, consulta Prueba prueba prueba. Entonces ahora mismo, es invisible. Pero en cuanto mueves el cursor sobre el texto, Quién fundamentalmente, ese es otro truco que puedes integrarlo. Puedes esconder algunos secretos o donde quieras. 39. Verbatim: Supongamos ahora que a veces tienes una palabra, hola, y nosotros la hacemos audaz. Si renderizamos esto, solo mostrará la palabra en negrita, ¿verdad? Pero supongamos que quieres poder renderizar esto incluyendo las citas aquí. Entonces normalmente no hay forma de hacerlo a menos que uses textualmente, así Y luego simplemente encapsular el texto. Entonces ahora, renderizará así el texto sin procesar. Esa es la w se puede excluir cualquier posible estilización sólo el texto en bruto 40. Transiciones: Et es solo supongamos que tenemos, de nuevo, nuestra palabra Hola. Y queremos que des algunos movimientos. Cuando este texto aparezca o desaparezca, solo usa transición. Las opciones que tienes son las siguientes. Bien, solo congela este marco porque todos estos tipos que ven aquí son todas las opciones que puedes poner en este lugar. Bueno, usemos el estremecimiento, y eso ya va a aplicar movimiento a esta palabra aquí Déjame mostrarte la prueba. Bien, entonces obtienes lo que hace, y se reproducirá automáticamente cuando vuelvas a cargar el pasaje Supongamos que queremos tener control sobre la velocidad de esta animación. Agrega el nie plus, y cambiemos el tiempo de transición. Y como puedes adivinar, solo vamos a indicar un valor en segundos, 0.5 segundos. Ya es más rápido, más lento en su lugar. Entonces 3 segundos. Como puedes ver, será mucho más bajo. Guau, eso es. Podrás divertirte con las transiciones y los tiempos. 41. ¡Instala audio!: Dos para poder usar cordel de audio, solo necesitas instalar una biblioteca externa Ir historia, Javascript. Y aquí, solo necesitas copiar y pegar el contenido del archivo de texto de este capítulo. Péguela aquí. Verás este texto largo. No cambies nada, solo cierra esto. Y luego haz lo mismo también para la hoja de estilo. Entonces abres el sleseet. Por si ya tienes algunas cosas, ve al fondo aquí, y luego solo pega de nuevo. Así como así. Cerca a tipo de doble verificarlo prueba cuando paso. Entonces solo insertas algunas cosas aleatorias como esta, ¿ y te da algún error? Significa que está correctamente instalado. Perfecto. 42. Definiciones (audio): Después de que tengamos la biblioteca lista para ser utilizada, solo tienes que crear un pasaje especial donde indicaremos la ubicación exacta de los archivos de audio en tu disco. Así que vamos a crear un nuevo pasaje, nombra exactamente así. Pistas de puntos enteros. Sólo tienes que copiar exactamente este nombre. Después dentro, solo definiremos inicialmente dónde están todos los archivos de audio. Entonces la forma en que funciona es esta, crear definir nuestra primera pista. Dale un nombre, así que haz clic en una columna. Espacio aquí, solo necesita pegar la ruta absoluta del archivo de audio para obtener esa ruta muy fácilmente. Un truco es el siguiente. Sólo tienes que abrir el navegador aquí. Entonces vas donde está el archivo de audio. Aquí. Bien, entonces tenemos este archivo, por ejemplo, uno N P tres, que es una especie de clic. Y luego simplemente arrastras el archivo al navegador exactamente aquí donde normalmente tienes los enlaces. Y ya ves lo que pasa, yo automáticamente convierte el archivo en una ruta absoluta. Simplemente puedes confirmarlo por el hecho de que siempre comienza con archivo. Si empieza con archivo, significa que trabajé. En caso de que no funcione, simplemente vuelva a intentarlo hasta que vea el archivo Después copia la cosa entera y pegarla en un cordel. Entonces así, haga clic en uno igual a este camino. Aquí, esta es una definición de pista. Entonces ahora Twine sabe que el sonido llamado click one está ahí, y ahora somos capaces de usarlo 43. ¡Toca un sonido! (audio): Dos poder usar sonidos, entrar en un pasaje y simplemente crear una especie de pasaje ¿Estás listo? Entonces solo hacemos esto, donde vamos como, listos así. Y luego en el pasaje listo, realidad insertamos un mensaje como, bienvenido. Entonces, la macro que usas la mayor parte del tiempo se llama columna Track Track. Y no te preocupes si no reconoce una macro existente, en realidad, funcionará. Entonces solo escribe el espacio. Y antes que nada, necesitamos referirnos al nombre personalizado que le dimos a la pista. Ve aquí, como recuerdas, definimos este primero hacia abajo como click uno. Entonces literalmente escribimos dentro de las comillas, haga clic en una. Y luego coma y nosotros damos la orden. Simplemente jugamos así. Entonces partimos de aquí. Bien, ¿listo? Vamos. Quien tu aqui. Entonces así de fácil es integrar el sonido. Entonces probablemente te estés preguntando por qué integramos el sonido en el segundo pasaje y no en el primero. La razón es que si quieres tener sonido desde el principio, justo desde el inicio de la historia real, necesitas usar una variante de este macro aquí tipo. Juega cuando sea posible, y ahora también funcionará desde el primer pasaje. Entonces si vamos aquí, aquí pegamos lo mismo. También podrá jugar desde el principio. Pero sólo en cuanto haga clic en cualquier parte del pasaje. ¿Ves? Entonces, y la razón es que no es una limitación de cordel, sino solo unas cosas de seguridad de todos los navegadores Por lo que el sonido solo se reproducirá después del primer clic del usuario. Por lo tanto, debe asegurarse de que el usuario haga clic en la ventana de alguna manera. Y luego de aquí en adelante, tienes el sonido listo para tocar en cualquier momento. 44. Detén un sonido (audio): Dos, déjame mostrarte un nuevo caso. Vamos aquí, y queremos que, antes que nada, reproduzca la pista después de dar clic dentro del enlace. Entonces, en realidad, vamos a crear un enlace personalizado. Entonces solo llámenlo jugar Lily. Y luego dentro del enlace, Lully colocamos Track Y llamamos a la música uno, y la hacemos sonar por ahora. Entonces permítanme simplemente crear también un segundo enlace a continuación aquí llamado Stop. Para que puedas adivinar Qué estamos a punto de hacer con esto, eres capaz de detener una pista. Usa la misma lógica exacta, pero solo cambia el juego con stop. Entonces vamos a dar click aquí. Guau. Escuchamos música, reanimamos por un par de segundos. Y entonces queremos que lo detengas. Detener. Así como esto. Pooh Así que juega, detente, están interconectados Y también puedes colocar estas funciones dentro de enlaces. 45. Reactivación (audio): Si quieres no puedes volver a activar el sonido cada vez que hagas clic en el enlace repetidamente, solo necesitas modificar, primer lugar, el enlace. Simplemente haz que este enlace pueda repetirse. Sólo estamos escribiendo repetición. Enlace, repita, así como así. Entonces, en vez de desaparecer, se quedará ahí. Y luego antes de tocar la pista, nos aseguramos de que paremos la pista en sí por si ya estaba jugando. Copia esto, colócalo arriba y cámbialo con un buen stock. Déjame mostrarte. Bien. Ahora voy a reprimirlo varias veces. ¿Ves? Soy capaz de hacerlo todo el tiempo que quiera. Así que siempre se reinicia exactamente desde el principio cada vez que presiono. Entonces con esto siempre se pueden hacer maravillas donde suena el click. Bien. Entonces va a ser una especie de botón de sonido. Bien, ve aquí, ¿verdad? Todas las veces que quiero. 46. Bucles básicos (audio): Oh. Bien, ahora déjame mostrarte un pequeño truco para hacer un bucle de las pistas. Se reiniciarán automáticamente en cuanto terminen. Juega esta vez por ahora. Supongamos que queremos que esto se reinicie automáticamente. Bueno, le dices a esta pista que habilite el loop, copia esta función. Vamos a colocarlo en la parte inferior así llamado Music Tube y queremos que modifiques la propiedad loop. Entonces loop, solo habilitarlo diciéndole True. Ya sabes. Infinitamente. Hasta que te detengas 47. Bucles avanzados (audio): Fundamentalmente, probablemente notes que cuando hacemos un bucle del sonido en este momento, ¿lo oyes? Se va a insertar en un ligero hueco. Entonces esta brecha silenciosa que hay entre la repetición no está en el sonido. Es algo añadido por el navegador, lo que obviamente puede resultar molesto si el sonido no termina con silencio. Bien, se nota. La forma de tener un bucle perfecto puede ser usar realmente un entrelazado de bucle personalizado Entonces solo podemos hacer lo siguiente. Déjame mostrarte. Convertir. Un enlace en vivo. Para que esto funcione, solo necesitas conocer la duración real del archivo que quieres hacer loop. Entonces eso es muy importante. En este caso, solo podemos comprobarlo juntos. Vayamos aquí. Entonces esto es largo, alrededor de 1 segundo. Bien, entonces uno como por ahora. A lo mejor es un poco más corto. Entonces cada vez que este directo se reproduzca, obviamente, volverá a activar la pista, detenerla para asegurarse de que no acumule instancias del mismo sonido. Bien, entonces detente, juega. Y fundamentalmente, eso es todo. Así que ve aquí. En realidad, ya sabes, sólo tienes que insertar en un enlace. Inicio. Entonces fundamentalmente, en cuanto hagamos clic en el enlace , iniciará el live. Lo que volverá a activar la pista repetidamente. Y así, tendrá más control en el loop. Entonces déjame mostrarte. Bien, aquí está. Menos brecha. Y obviamente, se puede cerrar aún más. Entonces tal vez incluso más rápido, 800 milisegundos. Vamos a intentarlo. Ya sabes, así que de esta manera, simplemente cierra más. Si no completamente esa brecha que normalmente tienes, en caso de que quieras anular y tener más control en el loop, ese es el truco para hacerlo. En caso de que te estés preguntando cómo evitar que este disparador automático vuelva a jugar, detén esto en vivo. Si se comprueba así, se crea una variable temporal. Entonces le das un nombre, por ejemplo, bucle uno, y cuando el bucle uno es cae, en realidad enviará una señal de stop a este live, y también será una señal de stop a la pista real. Bien, así que en realidad no podemos probarlo. Vamos a crear el estado inicial, establecer este verdadero, por defecto, enlace. Se detendrá todo el asunto dentro de la vida. Déjame mostrarte tocar. Eventualmente presionamos esto. Simplemente paré el directo, y luego también la pista misma. Entonces ese es fundamentalmente el truco. 48. fundido (audio): Probablemente notes que cuando haces esto, va instantáneamente a volumen cero, lo que puede crear algún tipo de camarillas, lo que puede ser realmente molesto. Déjame mostrarte. ¿Ves lo que pasa? Hay este tipo de clic porque va instantáneamente a cero. Para evitar este problema, necesitamos usar algo llamado fade. Los desvanecimientos son fundamentalmente automatizaciones en el volumen. Entonces, en lugar de usar play, solo usamos fade in, insertamos cuánto tiempo tardará en desvanecerse. Entonces este es un valor en segundos. También vamos a desvanecer esto. Así que solo cambiamos con fade out 0.3 segundos. Inténtalo. ¿Ves? No hay más clics instantáneos. Hay una especie de rampa en el volumen. Entonces probemos los desvanecimientos inferiores, tal vez un segundo entero así Vamos. Ya sabes, y luego se apaga. Entonces entra, sale. 49. Volumen en tiempo real (audio): También hay una manera de cambiar el volumen de la pista sin parar eso. En lugar de desvanecerse, solo usemos fade. Y luego solo tenemos que especificar cuánto tiempo tardará en ir al nuevo valor. Y luego especificar a qué valor en volumen irá. Todos los volúmenes van 0-1. La música uno se desvanecerá a 0.5 en 1 segundo. Sólo hazlo aún más silencioso, tal vez 0.25. Y también un poco más rápido. Vamos a la derecha. Bien. ¿Listos? Oh. ¿Estás viendo? Me convertí en coro. Entonces esa es la belleza de fade two. 50. Sombreado cruzado (audio): Dos. Bien, así que ahora voy a mostrarte un poco más avanzado el uso de los desvanecimientos Supongamos que tenemos al personaje entrando en problemas, así que queremos que la música refleje el hecho de que el personaje está a punto de morir o está en grandes daños o se va bajo el agua, algo así. Para crear ese efecto puede crear dos versiones de la misma pista de música. Entonces ya lo hago. Aquí, solo asegúrate de que reproduzcan exactamente el mismo contenido, pero con un efecto diferente, versión intacta Bien. Y luego una versión amortiguada. Ya sabes, Muy bien. Entonces vamos a crear un sistema que alterna estas dos pistas de acuerdo a un cambio de estado en el juego Ya definí estas pistas. uno se le va a llamar normal, y al otro se le llama bajo el agua. Vaya, enlace Scheer normal. En primer lugar, preparar los volúmenes. Así que tenemos que asegurarnos de que la pista normal tenga el volumen a estándar. Entonces solo el volumen uno así. Entonces al mismo tiempo, nos aseguramos de que la segunda pista, la segunda versión submarina tenga el volumen cero. De esta manera, podemos simplemente proceder a reproducir ambas pistas a la vez tocando en la misma aquí. Pero sólo escuchamos uno, así como éste. Entonces ese es el primer paso. Prueba esto. Bien. Entonces sólo escuchamos uno. segundo paso va a ser más fácil porque solo crea un segundo enlace bajo el agua. En el interior, solo tenemos que poner dos tubos de fade. Rastrea uno normal, tubo de desvanecido, cero adentro digamos en 0.2 segundos, así. Después aplicamos el mismo comando a uno submarino. Pero obviamente lo traemos a uno. Así que finalmente, de cero, lo llevamos de vuelta a su volumen completo en 0.2 segundos, así. Y por eso es importante que esta técnica funcione para hacer que ambas pistas se reproduzcan al mismo tiempo desde el principio, aunque solo escuchemos una. De esa manera, se sincronizarán perfectamente. Todo está listo. Vayamos aquí, prueba. P aquí. Normal. Yo. Guay. ¿Oyes? Bueno, vamos a añadir también un sonido de clic para que se oculte el truco. Haga clic en uno. Lay. Bien, todo está listo. Vamos. Guay. Ese es el truco. 51. Listas de reproducción (audio): Como sabes, ya puedes reproducir múltiples sonidos, pero a veces es posible que desees organizar estos sonidos de cierta manera. Playlist reproduce las pistas secuencialmente. Entonces es algo así como ABCD, EFG. Grupo toca todas las pistas al mismo tiempo. Por lo que es bastante útil capas de múltiples sonidos, hacer un sonido más grande y más gordo Ambos obviamente entrelazados, para crear una experiencia más inmersiva Entonces déjame mostrarte cómo usarlas. En primer lugar, es necesario definir playlist o el grupo en cualquier parte del pasaje. Entonces nueva lista de reproducción. Le das el nombre a ese contenedor a esa lista de reproducción. Música de fondo. Después de dar el nombre, simplemente enumere los sonidos que desea incluir en esta lista de reproducción. Bien, y luego solo necesitas usar la macro de lista de reproducción. Nos dirigimos a la lista de reproducción y luego solo enviamos el comando para comenzar a jugar. ¿Sabes qué? Vamos a establecer un enlace para poder volver a desencadenar. Cuando empiece a reproducirse, tocará todas estas pistas una tras otra, y luego se detendrá a menos que podamos volver a activarla, obviamente. Por lo que siempre se reiniciará desde la pista uno desde el principio así. Bien, vamos. Bien, solo espera que esto termine. Simplemente compran juntos. Ya sabes, solo sigo, continúa por todas las pistas, ya sabes, así es como funciona, ya sabes, hasta que presione esto. Entonces cada vez que presiono esto, el reinicio toda la lista de reproducción. 52. Listas de reproducción barajadas (audio): El modo aleatorio reorganiza estas pistas en un nuevo orden aleatorio para habilitar esta lista de reproducción de uso, nombre la lista de reproducción, derecha Entonces, si solo mandas este comando una vez, cuando juegues esta pista, comenzará desde cualquiera de estos tres aleatoriamente y luego precederá a tocar todos los demás. Simplemente serán reordenados aleatoriamente. Eso es lo que pasa. Para que esto sea aún más interesante, solo colocamos el barajado dentro del gatillo rojo Entonces cada vez que presionemos esto, tocará aleatoriamente una pista. ¿Ves? Así como así. Entonces si lo dejamos reproduciendo, obviamente, continúa con una lista de reproducción completa. Pero como puedes ver, en orden aleatorio, y se detendrá cuando reproduzca todas las pistas. 53. Barajeo de una sola toma (audio): No Entonces, como puedes adivinar, una lista de reproducción barajada y reactivada puede ser extremadamente útil para los sonidos de paso porque si tienes el personaje y tienes como diez sonidos para todos los pasos, posible que quieras tener un comportamiento donde toques cada sonido al azar, que es exactamente algo que puedes hacer Pero en realidad, en ese caso concreto, tal vez queremos evitar algo que la lista de reproducción hace por defecto, que es el hecho de que cada vez que termina un sonido, sigue reproduciendo el resto de la lista de reproducción, ¿verdad? Para poder decirle a la lista de reproducción que reproduzca solo un sonido aleatorio a la vez y luego se detenga. Solo necesitamos pegar este código personalizado aquí. Bien, déjame mostrarte Javascript. Solo necesita que copie esta línea aquí. Así que asegúrate de que esta sección aquí tenga exactamente el nombre de la lista de reproducción. Así que pon fondo dentro de esta sección. Entonces, fundamentalmente, usar solo una parada seguida de esta línea hará posible este comportamiento. ¿Bien? Poof. ¿Ves? Y luego solo se detiene, y jugará al azar. Cada vez que presionamos este botón. Entonces eso va a ser extremadamente útil para el sonido de paso. Poof. 54. Grupos (audio): Ahora, permítanme mostrarles una manera de reproducir fácilmente múltiples pistas simultáneamente. Para ello, necesitamos usar los grupos. Entonces solo supongamos que tenemos estas dos pistas aquí, tenemos este tipo de click, sonido, y luego tenemos este segundo sonido. Entonces solo usan un grupo para organizar estos dos sonidos simultáneamente. Nuevo grupo, luego le damos el nombre de Victoria. Entonces solo enumeramos todos los sonidos. Entonces haga clic en la puerta así como así. Ahora bien este pasaje es consciente de este grupo, y podemos usarlo. Dentro de este increíble enlace. Acabamos de colocar a nuestro grupo Victory. Y luego usar cualquier aliado de comando igual que la macro de pista. Así que silenciar, pausar, parar, loop, todas las cosas que normalmente puedes hacer con una pista puedes hacer con un grupo. Juega por ahora. Poof. Se escuchan ambos sonidos al mismo tiempo. Muy bien. Entonces ahora puedes imaginar que esto puede ser extremadamente útil para crear sonidos importantes en el juego. 55. Buscar (audio): Si quieres poder reproducir una pista exactamente desde una posición específica desde el inicio del archivo, busca el comando. Solo supongamos que queremos jugar a partir de 2 segundos desde el principio. Entonces aquí solo tecleamos 2.5 segundos y luego tocamos la pista. Así. Ahora, comenzará desde ese punto y no desde el principio. Vamos a intentarlo. ¿Ves? Ya no empieza. Esa es la belleza del Sk. Y para que esto sea aún más divertido, solo hacemos lo siguiente. Hacemos que esto se convierta en un detonante. En lugar de usar solo un valor fijo aquí, solo usamos una variable, Sk one, y solo establecemos un valor aleatorio cada vez que hacemos clic en el enlace. Entonces vamos aquí, set seek one, che, random. Usamos valor que va de cero, digamos, 10,000 milisegundos, que serían 10 segundos, ¿verdad Y luego simplemente dividimos todo el asunto. Por mil. Entonces lo convertimos a segundos. Este resultado irá directo a SQ uno y hará que esta función funcione, ahora ya debería funcionar. Vamos a probarlo. ¿Ves lo que está pasando? Cada vez que hago clic, va aleatoriamente a diferentes spots de la canción, lo que puede ser muy divertido de hacer, especialmente para los juegos musicales. Puedes crear ese tipo de falla satisfactoria en una canción 56. Monitoreo en tiempo real (audio): Es posible saber en tiempo real si una pista se está reproduciendo o no. Y en consecuencia, se pueden desencadenar algunos eventos personalizados según eso. Para ello, solo tocas esta pista, antes que nada, así que música una como esta. Y luego en un si solo colocamos otra pista donde decimos, Yo Música uno está sonando, literalmente, podemos hacer un evento personalizado. Decir es jugar a los elses no jugar. Sólo tienes que añadir otro botón. Debería ser capaz de detener la pista. Sólo así. Bien. Bien, entonces ahora mismo no está jugando. De hecho, simplemente estamos en silencio. Pero en cuanto juego aquí, de. ¿Ves lo que está pasando? Es automáticamente porque está monitoreando la pista. Y cuando lo detengo, obviamente, vuelve inmediatamente a no está jugando. Entonces ahora puedes adivinar que según esto, puedes hacer que los eventos personalizados ocurran solo cuando ciertas pistas se están reproduciendo o no. También hay una variante de esto, que se llama silencié Realmente es lo mismo, pero hace que las cosas pasen solo cuando la pista está silenciada o no. 57. Controles globales (audio): A veces es posible que quieras estar absolutamente seguro de que antes de comenzar una nueva pista, todo lo demás se detiene por completo. En lugar de usar solo track music one stop, usamos Master Audio, y luego solo usamos el comando top O. Me aseguraré de que se detenga todo por completo antes de comenzar cosas nuevas. Ahora mismo, es lo mismo que si usáramos Stop. O puedes usar esto como un botón de pánico donde hay tantas pistas pasando y una vez que tienes una espera, matas completamente todo el audio. También hay una variante de esto. Si apuntas al grupo llamado playing, que es un grupo pregertd, como adivinas, va a apuntar solo a las pistas que están sonando en ese momento Parará sólo esas huellas. Entonces nuevamente, mismo comportamiento, pero fundamentalmente, estas son las dos opciones para detenerlo todo. 58. Consideraciones de formato (audio): Bien, así que supongamos que terminas el juego y lo vas a publicar. Pero cuando haces eso, debes hacer un par de cosas con respecto al audio. De lo contrario, no va a funcionar. Entonces, antes que nada, si el juego va a ser descargado y así jugado localmente, eres libre de usar todos los formatos que quieras. Entonces puedes usar MP three, wave, OGG, probablemente también Flack a menos que si el juego se va a jugar completamente en línea, necesitas usar solo OGG y Para maximizar la compatibilidad del navegador, debe asegurarse usar dos versiones para cada archivo. Entonces por ejemplo, aquí para el archivo click, tenemos apenas la versión mp tres. Entonces, en realidad, eso sería un problema en algunos navegadores para asegurarse de que será completamente compatible, y cualquier sistema solo necesita convertir una segunda versión de este archivo en OGG El nombre completo de este formato es g Vorbis, así. La extensión se verá así OGG. Después coloca el archivo cerca la p tres y justo aquí en la definición, agrega una buena coma, así Y pega el otro camino. Obviamente, va a terminar así. Idealmente, cuando vayas a publicar el juego, prepara una versión doble para cada archivo de audio. 59. Trazados relativos (audio): Todo bien. Hasta ahora, para poder definir las pistas, hemos estado usando las llamadas rutas absolutas que indican dónde está realmente el archivo en su sistema. Eso es bueno siempre y cuando solo estés probando el juego. Cuando finalmente termines todo el juego y estés listo para publicarlo, necesitas preparar los archivos una manera ligeramente diferente. Fundamentalmente, solo necesitas entrar en una carpeta. Simplemente preparas una nueva carpeta llamada Audio, y dentro de esta carpeta, necesitas colocar todos los archivos que has estado usando. Después de hacer esto, aquí solo jugarías el archivo HTML que contiene el juego, y luego lo empaca, lo comprimes en un archivo zip. Pero antes de hacer esto, hay que hacer una cosa más. De vuelta a guita, y luego sales afuera a la lista de todas tus historias, y duplicas tu historia aquí, duplicas De esta manera, puedes hacer este cambio solo para la versión publicada de la historia. Entonces vas dentro de la copia de toda la historia. Entras en las definiciones, y inicias para cambiar los caminos con caminos relativos. Entonces la forma en que se ven es muy sencilla. Simplemente cambias toda esta cosa extraña con una ruta de manera más simple que se ve así, audio luego el nombre del archivo. Y al principio, asegúrate de agregar un punto y un slash como este, estos dos Y luego obviamente, se referirá a la carpeta de audio. Y fundamentalmente, lo que sucede es que tus archivos automáticamente serán referidos al lugar correcto, que es exactamente en esta carpeta. De esta manera, podrás reproducir audio en la versión publicada del juego. Si no haces esto, nunca jugará. 60. Precarga (audio): Cuando juegas el juego completamente en línea, necesitas darle tiempo a que las pistas se descarguen. Entonces, si tocas demasiadas pistas a la vez, es posible que no tengas tiempo suficiente para cargar, y así el usuario simplemente no escuchará ningún sonido. Para evitar este problema, es necesario usar precarga. Por defecto, todas las pistas cuando inicies el juego ya estarán precargadas, pero eso llevará algún tiempo. Entonces en realidad, cuando juegas el juego completamente online, al menos integra algún tipo de pantalla de carga. No se puede obligar al jugador a esperar, ya sabes, algún tipo de diez, 15 segundos. Por lo que al menos el 50, 60% de todas las pistas ya han sido precargadas. Y las pistas que se precargan por defecto son todas las que definas aquí en esta sección. Entonces todos estos serán precargados por defecto. Entonces por si acaso durante el juego, no se pueden definir grupos personalizados, placas personalizadas, tal vez sea prudente precargar también esos en el pasaje mismo. Entonces, en caso de que definas cosas nuevas, mid game, necesitas usar este comando aquí. Simplemente escriba audio maestro y luego precargue. Eso es. Así que simplemente poniendo esto en un pasaje donde hay un montón de cosas nuevas que estás definiendo como nuevas listas de reproducción, nuevos grupos, nuevos sistemas, asegúrate de integrar también uno de estos. Esto asegurará que el audio esté lo más listo posible. 61. Configurador (audio): Si te estás preguntando si hay una manera ocultar esta barra rara que solo aparece aleatoriamente cada vez con el volumen de toda la pista maestra, la respuesta es sí. Todo lo que necesitas hacer para ocultarlo es simplemente crear un pasaje especial llamado al config, y luego copiar y pegar el contenido que acabo preparar en el documento con el mismo nombre en esta sección. Para ocultar esa barra , solo necesita cambiar. Mostrar control, ella cae. Lo mismo para este tipo de aquí, barra lateral, inicio cerrado, pantalla de volumen verdadero también en caídas así. Por lo que cambiar estos tres automáticamente será asegurarse de que nunca volverá a aparecer. Guau, así como así. Así que no tenemos esa barra molesta nunca más. Los otros controles son bastante simples. Fundamentalmente, precarga si lo colocas verdadero, lo cual te recomiendo, automáticamente intentará precargar todas las pistas predefinidas cuando inicies el juego desde aquí, a partir de este pasaje específico. Silenciar el desenfoque, como puedes adivinar, pausará automáticamente el audio cuando ingreses una aplicación diferente mientras a una aplicación diferente mientras hay audio entrando en el navegador. Entonces solo haz un ejemplo. Ahora mismo es falso, lo que significa que si tocamos algo de música aquí y volvemos en cordel ¿Ves lo que pasó? Yo solo de forma automática. Se va automáticamente y pausa. Mientras que, si quieres desactivar este comportamiento, solo pon caídas. Entonces aquí, puedes decidir el volumen máximo posible de la totalidad de los sonidos. Como pueden ver ahora lo dije para elegir 0.75, pero se puede llegar hasta uno, lo que significa que no hay cambio. Y por último, estos números definen la cantidad máxima de tiempo que el juego intentará dedicar en la precarga de cada pista al inicio del juego, fundamentalmente No queremos que el juego se quede atascado en caso de que Internet no sea lo suficientemente rápido. Por lo que podemos dedicar cierta cantidad de tiempo para la precarga, y en caso de que falle, seguirá adelante. Entonces al menos el jugador seguirá siendo capaz de jugar el juego, ¿verdad? 62. Integración de imágenes: A Bien, así que para poder integrar imágenes y videos en tu juego, solo necesitas usar algún código HTML sin procesar Alerta de estropear. No necesitas copiar lo que estoy a punto de hacer a mano, pero lo encontrarás todo en mis archivos de texto de este capítulo. Entonces solo copia esos. Hay instrucciones. Bien, entonces antes que nada, déjame mostrarte cómo integrar una imagen Entonces entramos en un pasaje aleatorio aquí. Aquí pegamos este increíble código. Y lo único que necesita para cambiar la ruta absoluta de tu imagen en tu computadora con el mismo cheque que vimos con los archivos de audio, pegarlo aquí entre estos dos códigos. Eso es. Y luego solo dejarte probar esto, bien. Poof. Eso es. Entonces así es como se muestran las imágenes. Con este código, puedes cambiar el tamaño de la imagen automáticamente simplemente cambiando esto con porcentaje Entonces en este momento es el 50% de la talla original. Entonces, si queremos que esto sea más grande, obviamente, vamos a conseguirte el 85%. Bueno, obviamente ser más grande. Eso es. Y automáticamente mantendremos la misma proporción y centraremos automáticamente la imagen y ocuparemos el mayor espacio posible. Entonces todos estos comportamientos están todos integrados en este código. 63. Reposicionamiento básico: Si te estás preguntando si hay una manera de poder reposicionar la imagen con más control, hay dos formas Primero es solo usar los métodos de Harloy. Entonces, si rompes la línea, obviamente, la imagen será un poco más baja así, o si quieres tener una disposición horizontal de las imágenes, solo haces que crees dos columnas como aquí, viene dos o tres así, y luego acabas de pasar el código aquí en este espacio. Pasta de números. Vamos a eliminar, mostrarte cómo se ve. Así como esto. Y luego si tenemos una vista previa, obviamente, tenemos las dos imágenes cerca una de la otra. Estas son fundamentalmente las principales opciones que tienes dentro de la propia guita Todas las cosas que puedes hacer normalmente por texto, también puedes hacer por este código aquí si lo encapsulas dentro de una de estas macros, mismo para opacidad, etcétera La mayoría de ellos trabajan con código HTML así. 64. Reposicionamiento relativo: Si quieres tener un mayor control sobre el posicionamiento, podemos usar el CSS. Antes de hacer eso, necesitamos encapsular nuestra imagen dentro de un gancho Creamos un gancho llamado imagen uno. Muy bien. Entonces en la hoja lateral, solo necesitas ir aquí, desplazarte hasta abajo, pegar el código que están preparados el paso aquí. Así que sólo tienes que copiarlo y pegarlo aquí. Asegúrate de que el nombre aquí coincida exactamente con el nombre del gancho que quieres estar con tu reposición Derecha, entonces imagen uno, imagen uno. Simplemente cambiando estos valores de píxel, reposicionará la capa desde su posición inicial Verticalmente u horizontalmente para que, por ejemplo, vaya un poco más bajo. Ahora mismo, cero, cero obviamente no cambia. Entonces, si probamos, será justo en la posición por defecto, derecha. Entonces es que queremos que esto vaya un poco a la derecha y también un poco en el fondo así por aquí. Entonces, si agregamos 200 píxeles en la parte superior y 200 píxeles a la izquierda, ahora si probamos, efectivamente será el extremo inferior a la derecha. Entonces eso es fundamentalmente todo lo que ya sabes, debería poder reposicionar capas aún más precisamente 65. Reposicionamiento absoluto: Entonces, si pegas el siguiente archivo de texto que están preparados para este capítulo, solo notarás que hay dos diferencias. Esto cambió con absoluto aquí. Entonces estos dos, en lugar de ser un valor en píxeles, son un porcentaje como este. Y luego está esta última línea que hace que todo funcione. Entonces, la forma en que funciona el posicionamiento absoluto es que en lugar de ser modificado desde la posición inicial que ya asignaste al pasaje, realidad decidirá un punto preciso en la pantalla Entonces cero, cero ahora corresponde a una posición superior izquierda. Entonces, si jugamos esto, mira que la imagen está ahí. La ventaja del posicionamiento absoluto es que siempre estará en esa posición de la pantalla, sin importar qué pantalla, sin importar qué navegador uses. 66. Integración de video: Debería poder reproducir video. Solo hace falta que vuelva a copiar el texto que preparé en el documento de este capítulo el documento de este capítulo y lo pegue aquí así. Y si jugamos, como pueden ver, aquí tenemos de nuevo el camino absoluto, así que muy parecido a las imágenes. Si jugamos este pasaje, no vemos nada. El motivo es que el video es muy similar al audio, por lo que necesitas tener un pasaje previo donde al menos obtengas una primera entrada y sólo entonces entramos en el pasaje de video. Por fin vemos nuestro video. Guau. Así como así. Para poder cambiar el tamaño del video, recomiendo cambiar estos dos valores width y height Así que simplemente especifica los valores deseados sobre qué tan grande quieres que sea este contenedor de video. De esta manera, tienes un contenedor consistente donde puedes hacer bucle sin problemas de un video o cambiar el video en cualquier momento. Sin parpadeo. Será realmente consistente. Así que déjame probar esto por ahora. Entonces ahora va a ser de mil por 250. Y lo bueno de esta técnica es que va a evitar automáticamente el estiramiento. Si haces la altura 100. En teoría, esto no es 60 por nueve perfectamente, sino que en realidad solo va a compensarlo hasta que simplemente evite el estiramiento. Así que vamos a intentarlo. Así como así. Entonces ahí es donde necesitas saber para estar dimensionando el video de manera segura. Obviamente, puedes reposicionarlo con la misma técnica con el CSS que acabo de mostrarte antes Y lo único que puedes usar es decidir si este video va a hacer loop automáticamente como un Jif o reproducirlo solo una vez Y para hacer eso, solo necesitas quitar esta palabra aquí. Ahora mismo, tenemos bucle aquí, quita la palabra. Solo quieres jugar una vez, solo verifica esto. Bien tenemos al tipo que hace un puñetazo y luego se detiene. Eso es lo que queremos. 67. Eventos de video: En teoría, podrías usar videos que contengan audio, pero a veces no se reproducen o a veces pueden mostrar alguna interfaz que no quieres. Para simplificar todo esto, recomiendo usar videos que no contengan audio. En su lugar, gestiona el audio por separado usando la biblioteca que acabamos de instalar en el capítulo anterior. De esa manera, tienes el máximo control en video y audio por separado. En ese punto, lo único de lo que debes tener cuidado es tener una sincronización perfecta. Supongamos que tienes un video que se repite a lo largo del tiempo, y quieres reproducir el sonido cada vez muchas veces Si tiene audio y video separados en bucles juntos, puede haber algún retraso que se acumule con el tiempo A lo mejor la primera vez está perfectamente sincronizada, pero luego se baja progresivamente. Para evitar que esto suceda, solo necesitas crear algún evento de reproducción de video que podamos vincular al audio también. Fundamentalmente, cuando se reproduce el video, hay audio y viceversa. Entonces para hacer eso, ve aquí, integras el video aquí, y luego dentro del mismo gancho, tenemos también la macro de pista aquí, que reproduce. Entonces ahora mismo, déjame mostrarte lo que pasa aquí. Si jugamos desde aquí. Tenemos exactamente el sonido punch comenzando exactamente cuando comienza el video. Entonces están extremadamente apretados juntos, ¿sabes? Y además, puedo recargar esto ¿ Ves lo que está pasando? Cada vez que presione el botón de nuevo, volverá a correr el gancho. Déjame mostrarte aquí, así como así. Entonces detengo el audio cuando vuelvo a presionar este enlace aquí, luego solo vuelvo a ejecutar el gancho. Y en consecuencia, solo volverá a reproducir el audio y el video juntos , perfectamente sincronizados 68. Cambio de medios básico en tiempo real: Para poder cambiar imágenes y videos a lo largo del tiempo, solo necesitas construir algún tipo de sistema que te permita volver a apuntar una nueva imagen o video y luego mostrarla en lugar del anterior. La forma más rápida es reemplazar la imagen o el video dentro del gancho así Y luego ahora vamos a simular un cambio de objetivo con sólo volver a hacer clic en este enlace aquí. Voy a cambiar la cadena de destino a uno y dos, y va a alternar. Al mismo tiempo aquí en la parte inferior, como pueden ver, tenemos un vivo que va a monitorear muy rápidamente si hay algún cambio en algún momento en la variable objetivo. Y en consecuencia, como se puede adivinar, cuanto el target se haga verdadero, voy a sustituir el contenido. Imagen uno con todo el código del nuevo destino. Y luego cuando vuelvo a uno, solo sustituyo, de nuevo, con la imagen anterior le code. Simplemente prueban esto ahora aquí. Bien, entonces ahora vemos Imagen uno. Tan pronto como haga clic en Imagen, así así que cambio, se puede ver que la cadena en este momento es una para target. Cuando hago clic en dos ves ¿qué pasa? Simplemente cambiamos Imagen muy rápidamente porque esta variable aquí está siendo monitoreada a lo largo del tiempo muy rápidamente. Ese es el truco. Y si, como puedes adivinar, es muy reactivo. Esto le permite cambiar de un lado a otro entre imágenes y videos muy rápidamente. An 69. Comandos clave: Bien, así que para poder usar la entrada del teclado en Twine, necesitamos instalar una nueva biblioteca llamada Vamos a entrar aquí en la sección de Javascript, copiar y pegar el código de este documento de sección. Simplemente pega todas estas cosas aquí, y eso es todo. Ahora Twine es capaz de usar la entrada del teclado. La forma en que esto funciona es que fundamentalmente, vamos a simular un clic. Entrando en un gancho. Entonces es un proceso de dos pasos. Vamos a entrar en un pasaje, y creamos el primer salto de gancho así, asegurarnos de que sea visible. Dentro del gancho, vamos a colocar ya sea un enlace normal o un enlace repetido o donde queramos, en realidad. Siempre y cuando algo que se pueda presionar, vamos a usar un enlace de repetición por ahora. Nosotros lo llamamos simplemente vete. Entonces dentro de aquí, podemos hacer que donde queramos suceda. Para que podamos cambiar una pieza de lógica del juego. Podemos desencadenar una animación donde queramos. Entonces en este caso, vamos a cambiar una variable, establecer saltos a e más uno. Y luego vamos a crear un segundo gancho aquí que va a mostrar el número dentro de nuestro atajo. Vamos a sustituir el contenido de los contadores por el nuevo número de saltos que hicimos. Así, déjame mostrarte a pantalla completa. Así es como se ve. Entonces esa es la primera parte. Entonces necesitas entrar en el Javascript. Nos desplazamos todo el camino hacia abajo. Para cada atajo que crees, necesitas usar estas líneas aquí. Ya me preparé a comentarios para que veas exactamente donde empieza un bind y donde termina de aquí para acá. Termina aquí comienza aquí. Entonces la forma en que funciona es que necesitas cambiar el nombre del gancho. Necesita que coincida perfectamente con el gancho que creamos. Entonces, si recuerdas, se llamaba salto. Cambia esta sección aquí. Nombre es igual a salto. Eso es lo primero. Entonces aquí solo decidimos exactamente qué tecla va a estar lista para ser presionada para eso. Entonces podemos usar el enter. Derecha. Y entonces aquí, puedes decidir si la tecla va a activar el gancho de salto cuando presionas hacia abajo o cuando sueltas la tecla, simplemente cambia la tecla hacia arriba con tecla abajo o viceversa, así. Entonces, por ahora, mantenlo así. Bien. Y luego vuelve aquí, prueba este pasaje. Entonces ahora, en teoría, cuando presiono Enter, deberíamos ver Wo Ya ves lo que está pasando. Cada vez que presiono Enter, ahora mismo, vemos que el número aumenta también, la lógica. Entonces así es como creas atajos para tu entrada de teclado. Es realmente la recta más simple y rápida para hacer eso. 70. Evita repeticiones clave: Entonces, cuando vas a usar esto, empezará a notar un cierto comportamiento. Cuando mantienes la tecla abajo, no solo activará la lógica cada vez que la presiones, sino que también si mantienes la tecla abajo, seguirá disparando infinitamente así Entonces, en algunos casos, esto puede estar bien. Ametralladora, eso puede ser perfecto. Pero en todos los demás casos, tal vez queramos que esto suceda sólo una vez. Así que imagina como hacer literalmente un salto de personaje, tendrías que asegurarte de que cada vez que presionas la tecla, incluso si la mantienes baja, solo hará que el salto suceda una vez y luego lo recargues solo cuando finalmente sueltes la tecla. Entonces vamos a ver cómo implementar el ex. En primer lugar, necesitamos cambiar la repetición de enlace con un enlace y eso es todo. Entonces un enlace normal. Y eso ya evitará las repeticiones porque obviamente, si mantenemos la llave baja, no importa. Sólo voy a pasar una vez. Eso es lo que queremos. Entonces volvemos a nuestro Javascript aquí, y creamos un segundo bind. Entonces simplemente copiamos a todos estos chicos, creamos algo de espacio, pegamos. Y aquí, simplemente cambiamos el objetivo de este bind de salto a lanzamiento de salto. Y también, cambiamos llave abajo a tecla arriba. Así como así. Eso es todo lo que tenemos que hacer para arreglar esto. Volvemos a nuestro paso. Creamos a Lily un nuevo, lo llamamos salto, lanzamiento. Y dentro de este lugar un bonito salto re run. Colóquelo en un enlace, repita, en realidad. Entonces vamos aquí, Link, repite, así. Fundamentalmente, lo que va a pasar ahora es que cada vez que presionas la tecla? Va a disparar el código sólo una vez. Entonces ahora mismo tengo la llave abajo. Y en cuanto lo libere, recargará el salto, finalmente. Entonces es solo aquí, lo que significa que entonces por fin podré repetir un nuevo salto. Pero sólo sucederá una vez, aunque mantenga la llave abajo como ahora. Entonces esa es la clave que es el truco clave de esto. Y ahora solo sucederá cuando presione la tecla solo una vez. Como pueden ver, hace un momento, un número final, que es el hecho de que tenemos todos estos enlaces raros que no necesitamos ver. Podemos simplemente encapsular dentro de una buena opacidad, cero. Así, y desaparecerán. Y entonces lo que recomiendo es simplemente colocar estas pulsaciones de teclas en la parte inferior de tu código, para que no interfieran de ninguna manera con las cosas que están sucediendo en el juego real. Entonces de esa manera, tenemos nuestro mostrador en la parte superior del pasaje y también recomendamos colapsar el espacio Bien. De esa manera tenemos nuestro mostrador en la parte superior completamente intacto, y eso es lo que queremos. Pooh 71. Consejos e ideas (controles): Una forma un poco más avanzada de deshacerse de todos estos keybns aquí abajo es simplemente cambiar los que usan CSS Encapsula todos los atajos dentro del gancho gigante y mueve ese solo gancho a otro lugar completamente De esa manera, incluso por error, el jugador no podrá presionar esos enlaces porque ahora mismo, esos son simplemente invisibles. Entonces debes asegurarte de que esos estén completamente lejos. Derecha. Para eso, en realidad, un truco sería simplemente empujarlos todo el camino hacia abajo en el pasaje así y luego simplemente bloquear el pergamino, el hacer eso. Solo necesitas pegar una sola línea de código en el CSS. Hablando de este código aquí. Entonces te desplazas todo el camino hacia abajo y pegas a este tipo de aquí. Desbordamiento oculto. Esto, por más larga que sea la página, impediría que el jugador se desplace hacia abajo con una rueda. Las mentes clave son extremadamente poderosas. Solo con estos principios simples, puedes construir sistemas de comandos realmente complejos. Puedes usar repeticiones de enlace, pero también algo que te recomiendo es ciclismo links. Si quieres poder desplazarte por las armas que el jugador tiene u objetos. Entonces colocas un enlace de ciclismo dentro de una repetición de enlace. Y además, esta biblioteca soporta múltiples claves al mismo tiempo. Para hacer eso, Lily solo tiene que bajar aquí y crear un enlace por cada clave única. De esa manera, podrás crear sistemas que reconozcan si estás presionando múltiples teclas al mismo tiempo y así activar un combo específico de teclas, ¿verdad? Eso es realmente todo con este único truco. KeybindHok. 72. Entrada del gamepad: Muy bien, entonces ahora que sabes cómo usar la entrada del teclado, es el momento de mostrarte cómo usar los pads de juego. Creé una mini biblioteca llamada primavera. Te lo voy a dar ahora mismo. Así que simplemente copia a lily el archivo que verás ahora mismo y pegarlo aquí en el JavaScript. Guau, así como así. Entonces todo este texto es la biblioteca gamepad llamada spring. Las principales características de esta biblioteca son poder rastrear el estado de cada botón. Entonces cuando sube y baja, puedes hacer que se convierta en un click y enviarlo a un gancho de cliente, exactamente como mantrap Segunda característica, se puede rastrear el estado de los análogos. Entonces el eje Y, y la X se convierten en cuatro variables y también en los disparadores. Por último, también se puede activar la vibración. Y no sólo eso, también se puede controlar la intensidad de la vibración. Entonces ya puedes imaginar tantas cosas que ahora puedes hacer, y ahora déjame mostrarte cómo usarlo. 73. Botones hacia arriba / abajo: Antes de hacer cualquier otra cosa, necesitamos probar el pad del juego si está funcionando correctamente. Así que asegúrate de instalar los controladores para tu sistema para que funcione. Y también, recuerda encender eso. Así que solo presiona generalmente este botón de aquí. Diez, ahora en realidad está encendido. Así que entra en este sitio web aquí, y si ves la información que aparece aquí, puede estar funcionando correctamente. Así que intenta mover todos los botones, presiona. En ocasiones no se calibrará correctamente. Entonces, como puede ver, es posible que vea algunos ligeros parpadeos en estos números, especialmente si su controlador es viejo Pero en su mayor parte, se ve que todos estos números reaccionan correctamente. Su controlador es prácticamente utilizable para esto. Bien, ahora que estamos aquí, justo en el código, desplácese hacia abajo hasta que lea este comentario ese evento botón izquierdo hacia abajo. Bien, aquí funciona exactamente como una trampa para ratones. Simplemente copia el contenido entre estos dos comentarios aquí. Y puedes reconocer que solo necesitamos nombrar un gancho personalizado. A este caso se le va a llamar salto. Y luego el número de índice. Entonces el índice es exactamente el número que identifica el botón que necesitas para mapear. Y para extraer ese número y usarlo esa herramienta te mostré aquí. Entonces por ejemplo ahora, para el botón A, se puede ver que B cero reacciona significa que este es en realidad el número cero. Podemos usar eso como información para aquí. El índice cero va a ser el botón A. Va a mandar un click al gancho llamado salto cuando presionemos A hacia abajo. Digamos que también queremos hacer esto cuando se libere la A. Así que bien, en ese caso, vamos a desplazarnos hacia abajo aquí, abotonemos hacia arriba un Bens Y lo mismo. volver a reconocer los mismos comentarios aquí. Esto va a ser un lazo. El índice es cero. Entonces A va a ir ya sea al mismo gancho o saltar de liberación. Vamos a probar esto. Enlace de salto. Bien. Y luego lo mismo para el lanzamiento. Entonces D. Bien, vamos a presionar esto. Entonces ahora cuando presiono, A va a través de click down. Cuando lo suelte, deberías presionar. Quién. Así de fácil es mapear los eventos de arriba y abajo a través de cada botón que se puede presionar. 74. Análogos y disparadores: Sí. Antes de que diga algo, déjeme mostrarle una cosa. Si ya probamos este pasaje, se nota algo, hay todas estas variables ya pregeneradas Esos ya están hechos por el Javascript. El eje X e Y, estos dos son el stick izquierdo. Los ejes X dos e Y son para el stick derecho. Y finalmente, las variables de gatillo izquierda y derecha son los dos disparadores cuando los mueve lentamente hacia abajo. Por lo que todas estas seis variables suelen ser ya generadas por cualquier controlador. Siempre vamos 0-1. Simplemente los imprimen en tiempo real. Bien. Ahora estos en la parte superior son los dos disparadores. Como pueden ver, mi gatillo izquierdo está ligeramente roto, así que solo dice ligero camino todo el tiempo. Pero está bien. Mueve el gatillo derecho. Ves ese número moviéndose. Ese es el gatillo correcto. Eso va 0-1. Y es dinámico. No es sólo un interruptor. Lo mismo para el gatillo izquierdo. Bien, entonces me voy a mover al palo izquierdo Bien, entonces son X e Y. Como pueden ver, es extremadamente reactivo. Y por último, el palo derecho. Bien. Así como así. Entonces, para recapitular, estas seis variables están listas y actualizadas todo el tiempo, y solo necesitas usarlas si 75. Palanca de vibración: Para mí, eran para controlar la vibración, desplazar la variable de palanca, que es pre generada a uno o cero. Déjame mostrarte. Entonces, si pones suave esto donde después de 1 segundo, lo cambiamos a uno solo exactamente 200 milisegundos después, volveremos a cero El resultado, como puedes adivinar, es que tienes un breve impulso de vibración. Entonces déjame mostrarte. Lo oyes otra vez. Entonces pasamos 1 segundo. La vibración permanece durante 200 milisegundos y luego vuelve a cero, todo controlado por esta única variable, Tuggle Ahora, ya puedes imaginarlo. Puedes crear vibraciones automáticas siempre que estés en un ambiente peligroso. Una idea puede ser componer algún tipo de ritmos, combinando múltiples afters o vidas, y luego haces que se conviertan en macros personalizadas Y entonces solo puedes usarlos dentro de los botones muy fácilmente, así. Por ejemplo, creamos uno llamado latido cardíaco corto como este, imaginando algo así Y siempre que hagas clic en el botón, también activará ese ritmo específico de vibración solo así. 76. Intensidad de vibración: Dos para poder controlar la intensidad de la vibración, es necesario ajustar dos variables que están pregeneradas, y ir 0-1, magnitud débil, y luego magnitud y luego Estas dos variables fundamentalmente necesitan mantenerse un poco cerca una de la otra de acuerdo a lo que se quiera. Entonces, si quieres una vibración realmente precisa, como puedes ver, cuando presiono A hacia abajo, va a ir a 0.85 por una semana y una demasiado fuerte, que es el max. Entonces cuando suelte A, así que ahora estamos en lanzamiento de salto, va a establecer débil a 0.45 y fuerte elige 0.6, lo que va a dar una vibración más ligera Ahora déjame mostrarte lo que está pasando. Vamos aquí, como se ve una supresión A. ¿Ves lo que pasó? Hacía una vibración precisa, como pueden ver, A aquí, 0.80 51, y luego la libero Muy ligero. 0.45 y 06. Ahora voy a aterrizar el micrófono exactamente en el controlador. Bien. Bien, eso fue duro. Por fin solté. Como puedes ver, es muy sutil. Te puedo conceder que aunque la vibración débil sea débil, digamos, todavía puedes sentirla, y ese es un nuevo nivel de expresión para tu juego. Eso es todo lo que necesitas hacer y todo lo que necesitas saber para controlar los comentarios hapti de tu juego y cordel Sé que es increíble poder hacer esto, pero ahora puedes. 77. Maximiza las matemáticas: Bien, entonces ahora déjame mostrarte un par de cosas que necesitas saber para maximizar tu capacidad de administrar números En primer lugar, solo crea un número simple solo este conjunto prueba 1.75 por ahora Entonces supongamos que quieres tener la máxima certeza de que este número se redondeará al número entero más cercano. Todo lo que necesitas hacer es encapsular este número dentro de una bonita ronda como esta Ahora, como sabemos que el número más cercano es Q, solo deberíamos ver Q. Guau. Así es como funciona. Si tenemos 1.4, obviamente estamos más cerca de uno ahora. Lógicamente, solo vemos uno. Y en cambio, supongamos que quieres calcular el número absoluto, cambia esto con ABS así. Y ahora automáticamente eliminará el pecado y hará que se convierta en un número absoluto como este. Y por último, si quieres sabes si un número está por encima o por debajo de cero, encapsulamos la impresión en una macro sinusoidal como esta Por lo que ahora la prueba será normalmente de -2.45. Pero déjame mostrarte. Entonces ahora mismo vemos menos uno. Este número, esta variable está bajo cero. Si hacemos esto positivo, se convertirá en uno solo. Entonces puedes usar esto para divergir lógicas de diferentes maneras si un número va por encima o por debajo Y otro truco muy útil es poder sujetar un rango de números a un piso específico de tus juguetes. Y queremos asegurarnos de que solo tendremos cinco como máximo posible. Entonces tenemos los números 1-5, y solo uno automáticamente será devuelto a cinco MAX. Condición de prueba. Y decimos que si la prueba es superior a cinco, nos va a dar obviamente cinco. Mientras que, en todos los demás casos, simplemente volveremos a sí mismos. Entonces en todos los demás casos, sabemos que serían cinco hasta uno. Así como así. Para que pueda hacerlo todo el tiempo que quiera, pero siempre será seguro cinco como máximo. Sin esto, déjame mostrarte lo que va a pasar. Ser libre de ir por encima de cinco. Pero con este truco, lo sujetamos a cinco como máximo. Ahora sólo acaba de ir un poco más avanzado. Crea un número loco como este. Entonces uno a 10,000, dividido por uno a 10,000. Entonces, en teoría, comenzaremos a obtener números con enormes decimales. Y queremos que tengas un sistema que solo muestre tal vez los dos primeros puntos después del cero. Encapsulamos todo esto, toda la generación de variables dentro de un lindo micro llamado piso Bien, entonces antes que nada, insertamos todo este tipo dentro del piso así Entonces tenemos que multiplicarlo por 100 y luego dividirlo por 100 nuevamente, así como así. Déjame mostrarte lo que está pasando. Oof. Ahora mismo, solo tenemos dos posiciones después del cero máximo para decidir cuántos decimales quieres. Después del cero, agregas o eliminas un cero de estos dos números. Entonces, por ejemplo, tenemos 1010, así que es solo 10, que significa solo una posición después de cero, así como así. También puede simplificar esto simplemente cambiando estos dos a una variable temporal. Entonces los decimales ponen aquí decimales a la potencia de diez. Este número aquí es donde decidimos cuántas posiciones queremos permitir que tenga el número. Entonces en este momento solo tendremos un decimal después del cero. Vamos a revisar. Así como así. Cinco posiciones. Sólo le pegó este número a cinco, así. Bien. Y por último, déjame mostrarte cómo tener control de batería en la red aleatoria de números. Entonces ahora mismo, como puedes ver, solo tienes una cadena de números aleatorios 1-10, apareciendo en este gancho cada medio segundo, así como así. Ya sabes, solo números aleatorios, que aparecen así. Entonces, si notas cada vez que pruebo el juego , muestra una cadena diferente de números. Entonces la secuencia siempre es diferente cada vez que pruebo. Como puede ver, el primer número es seis, luego vuelve a cambiar. Siempre diferente, ¿verdad? Entonces, en algunos casos, esto puede ser ideal porque significa que todos los números aleatorios de tu juego serán únicos para cada jugador individual. Mientras que, si otorgas una experiencia consistente a cada jugador, puedes generar un llamado sed. Solo ve aquí y usa al comienzo de tu juego solo una vez, Semilla y luego escribe una cuerda. Así que vamos a llamarlo hola. Ahora puedo concederte eso cada vez que juego esta secuencia aleatoria. Como pueden ver 410, cinco, seis, si vuelvo a probar, volverá a ser lo mismo. En algunos casos, para hacer un juego que sea más justo y que no cambie demasiado la dificultad sobre los jugadores, puedes usar una semilla para otorgar consistencia. Cuando la idea de otorgar una experiencia única podría ser vincular esta semilla al nombre del personaje. 78. Pie de página: Lo primero que necesitamos para poder usar para tener un código más limpio en general es el header y más libre Estos dos son fundamentalmente dos pasajes especiales que ejecutarán su contenido cada vez que entres en un nuevo pasaje al juego. Para hacerlo, solo se crean dos nuevos pasajes. No necesitamos cambiar el nombre de esos. Simplemente aplique un encabezado de etiqueta. Y luego pie de página al otro así. Futer. Dentro de este zapato, sólo podemos colocar algún código. Entonces, por ejemplo, en la cabecera, colocamos el dinero fijo, cómo ocho más uno. Dentro del pie de página, colocamos una impresión para ver el nuevo valor así, colocamos algo de espacio, solo rompemos la línea. Este zapato estará literalmente en la parte superior y en la parte inferior de cada pasaje. Por lo que hay que tener cuidado con el espaciado. Ahora solo prueba de vista previa. Muy bien. Entonces vemos el número uno. Muy bien, ya ves lo que está pasando. Cada vez que voy y vengo, se ha vuelto a ejecutar el código de dinero establecido y, en consecuencia, vemos un número cada vez mayor. Así que puedes volver a imaginar todas las formas en que esto se puede usar. Fundamentalmente, le permite automatizar el código redundante, colocarlo de una manera más limpia, y esa puede ser una forma de incorporar 79. Condiciones iniciales: Hay una manera de establecer las condiciones iniciales de su juego. No importa en qué pasaje empieces, crea un nuevo pasaje y etiquétalo como startup así. Cuando le das la puñalada a múltiples pasajes, incluso, esos códigos se ejecutarán al comienzo mismo de tu juego cuando empezaste Por lo que esto puede ser extremadamente útil para depurar sesiones. Así que solo puedes establecer condiciones personalizadas directamente desde un pasaje como este y probar directamente desde un pasaje que depuración inicial. Establecer energía 0100. Y ahora, si tenemos una vista previa desde la sala uno, se puede ver que tenemos Energy Set 100 y diciendo, qué pasó si nos previsualizamos desde Intro Vamos a probarlo. Nuevamente, eso es porque la startup se está llevando a cabo desde el principio. 80. Omitir código y comentarios: En lugar de eliminar eso o simplemente colocarlo en un pasaje separado que no uses, una forma es simplemente omitirlo usando la macro Ignorar. Entonces vas aquí, ignora, y luego dentro de estos corchetes, colocamos el código que necesitamos pasar por alto. De esa manera, cuando corras ese pasaje, lo ignorará por completo. Entonces, como pueden ver, no hay ajuste aquí. Y eso es todo. En cambio, a veces cuando construyes sistemas realmente complejos, es posible que puedas tomar notas solo para recordar lo que hacen, bien, porque puedes perder la pista. Entonces, para hacerlo, ve a donde quieras en el pasaje. Haga clic en este botón aquí. Y luego solo puedes tomar notas. Esto así X, Y, y Z. para que puedas escribir párrafos enteros de lo que hace esa sección específica de código 81. Difusión: Fundamentalmente, ahora mismo, solo tenemos una matriz definida como prueba que contiene las primeras siete letras del alfabeto, así como así. Si queremos imprimir una letra aleatoria de este array, como puedes adivinar, podemos usar cualquiera de ellos. Pero entonces, ¿cómo le decimos al cualquiera que considere cada valor individual de esto? Bueno, coloca tres puntos al inicio de la variable así. Estos tres puntos se llaman esparcidor de propagación de la matriz en valores individuales En consecuencia, ahora va a funcionar. Déjame mostrarte. Nosotros, ya sabes, vemos el comportamiento que queremos. Entonces estamos imprimiendo cualquiera de esas letras al azar. Y ahora vamos a ir un poco más complejos. En su lugar, usemos un índice personalizado. Vaya aquí, establezca una segunda variable llamada index, choo un número aleatorio por ahora Así como así. Uno, dos, siete. Bien. Entonces en lugar del cualquiera, lo cambiamos con una nueva macro llamada Nth así Y al principio, solo colocamos el índice, y luego la matriz expandida así como esta Lo que va a pasar ahora es que fundamentalmente tenemos el mismo comportamiento exacto que solo usar cualquiera de ellos. Déjame mostrarte. Con la diferencia que tenemos ahora, la capacidad de usar un índice controlable personalizado. Entonces esto va a ser sumamente útil cuando se quiere controlar realmente con más precisión, el índice. Entonces aquí, imagina que estableces una variable como fuente de índice. De esa manera, fundamentalmente podrás divergir oraciones enteras o estadísticas directamente en puntos específicos muy fácilmente con el sistema 82. Bucles for: Bien, ahora que eres capaz de difundir valores uno tras otro desde una matriz, te voy a mostrar cómo procesar cada valor individual en una matriz individualmente. Entonces, supongamos que tenemos, de nuevo, variable aquí. Llamémoslo pocket to array, digamos que queremos reducir a la mitad todos estos números individualmente y luego traerlo de vuelta al bolsillo. Bueno, para hacer eso, crear una matriz temporal. Establecer bolsillo dos, dos, una matriz vacía por ahora, así como así. Utilizamos la nueva macro llamada cuatro. Y la forma en que funciona es que necesitamos crear una variable temporal que va a ser utilizada como índice para cada índice. Y aquí acabamos de difundir la matriz original. Así que solo bolsillo así. Lo que acabamos de escribir significa a través de cada valor en el bolsillo dentro del corchete para que podamos hacer donde queramos. Así podemos imprimir cada valor de forma individual. Por ejemplo, solo di, Este es tu número de la suerte, y luego solo traemos el índice así. Welly imprime para cada valor único esta oración con cada valor de la matriz, así como así Ese es el uso más simple de esto. Pero supongamos que íbamos a cambiar el valor. Establecimos una nueva matriz, pocket two, que originalmente estaba vacía, dos en sí más una nueva matriz que contenía índice dividido por dos Entonces lo que va a pasar es que ahora por cada valor único en el bolsillo original, vamos a dividir cada uno de esos por dos y llevarlos de vuelta al bolsillo dos. Y por último, solo podemos poner el bolsillo uno, el bolsillo dos. Así que devuélvele los valores al bolsillo uno. Y por último, podemos simplemente imprimir todo el asunto. Vamos a ver estos valores divididos por. Oof. Como puede ver ahora, estamos viendo el nuevo bolsillo uno después que hicimos un bucle de cada valor único para dividirlo por dos 83. Creación de una caja de arena: A veces es posible que necesites tener la capacidad de probar nuevas ideas de código antes implementarlas en el juego real. Una forma de hacerlo localmente es simplemente dedicarle de paso a eso. Entonces puedes llamar a la caja de diez, probar todas tus cosas, y finalmente implementarla en los pasajes reales. Pero a veces esto no será posible porque entrará en conflicto con CSS o el Javascript. Así que solo puedes dedicar todo el proyecto al sandbox, para que puedas salir aquí. Y reivindicar aquí solo un proyecto como este. De esa manera, no interferirá con tu proyecto principal. Pero una cosa que puede ser un poco de confusión para ti, tal vez el hecho de que después de terminar tu prueba, es posible que necesites tener una forma de copiar el código que finalmente funciona en el juego. Entonces, en teoría, necesitarás copiarlo desde aquí, luego volver a la lista, ingresar nuevamente al juego, y finalmente pegar el código aquí, cual no es el mejor proceso, ¿verdad? Entonces, una forma de evitar este proceso de ir y venir es simplemente abrir una instancia completamente separada de cordel Para hacerlo, al menos en Windows, solo necesitas abrir el menú Ordenar y literalmente reabrir Twine por segunda vez, así Y después de unos segundos. Entonces ahora tengo que abrir de forma independiente. Cuando hagas esto, ten cuidado de no abrir el mismo proyecto en ambas versiones. Ahora mismo, tengo que decir uno, abra aquí, pero aquí puedo abrir cualquier otro proyecto, así puedo abrir el proyecto sandbox aquí Ahora solo puedo hacer frente y pegar Codificamos que tengo aquí, en el proyecto real todo el camino 84. Maximiza las condiciones: Si quieres que tus condiciones sean más complejas, una cosa que puedes hacer es agregar más cheques antes de entregar realmente el resultado Entonces ahora mismo tenemos dinero que se pone uno, y nos va a dar el resultado bingo si es mayor que cero. Entonces, vamos a agregar una nueva condición, que va a ser obligatoria. Simplemente escribimos y es inferior a 1.5. Entonces ahora solo nos dará bingo solo cuando sea mayor que cero, pero también menor que 1.5. Ahora vemos bingo porque es uno. En cuanto van a ser dos, ya no lo veremos porque es cierto que dos es mayor que cero, pero no es cierto eso es inferior a 1.5. Así es como es. Entonces si en cambio tienes múltiples condiciones, pero sólo una de ellas va a ser suficiente cambiar con o. Entonces ahora, si satisfacemos a alguno de estos dos, inmediatamente veremos esto independientemente, Bingo porque está satisfaciendo al menos a uno de esos. Y puedes especificar tantos como quieras. Incluso puedes verificar todas las variables, no necesariamente esto todas en la misma entonces solo supongamos que el dinero en cambio es una cadena, y queremos activar el bingo, solo si un carácter específico o palabra específica está contenido en esa cadena para escanearla automáticamente. Solo podemos usar contiene. Y aquí simplemente escribimos lo que sea que desencadenará el resultado. Entonces puede ser incluso un solo carácter o una palabra completa. Si esta cadena contiene incluso solo una H, activará el resultado. Guau. Tan pronto como lo cambien a un personaje que no existe en la cadena, por ejemplo, Z, ya no veremos Bingo porque ahora está escaneando todo el asunto en busca de coincidencias. Contiene obras muy bien también con arrays. Así que supongamos que el dinero era en realidad una matriz. Tan pronto como cambie contiene en algo que coincidirá plenamente con uno de los elementos de esta matriz, se activará, nuevamente Bingo. Así que intentemos con el número uno. Entonces, si el dinero contiene uno en esta matriz, activará Bingo. Vamos a intentarlo. Bien, y uno más si contiene Pacman, nuevamente, veremos Bingo 85. Número a cuerda y viceversa: No, a veces es posible que necesite convertir una variable de número en una variable de cadena. Hay algunas macros que solo puedes usar si una variable es una cadena como esta, subcadena, que puede ser extremadamente útil para recortar una cadena específica de un lugar específico O también recortar. Para poder hacer esto, establece una primera variable, Moni a una, para convertirla en una cadena, ponerla de nuevo, muchas Pero luego encapsulamos el it dentro de SDR. Entonces lo que pasa es que veremos a Moni ser un número primero, y después de los segundos, se convertirá en una cadena en su lugar Así es. Bien, uno, dos, tres Bien, puf, así como así. Ahora se convirtió en una cuerda. Y también puedes hacer al revés. Entonces, si esto fue primero una cadena, podemos hacer que se convierta en un número para poder usar algunas matemáticas en eso, ¿verdad? Simplemente cambie STR con Num. Entonces ahora lo que pasa lo contrario. Así que sólo vamos aquí. Entonces ahora es una cadena y luego se convierte en un número. Poof. 86. Referencias de clonación: Ahora déjame mostrarte algo realmente interesante. Si creamos una nueva variable llamada energía y la establecemos en 100, entonces si creamos una segunda variable llamada target, podemos clonar los valores de energía automáticamente simplemente haciendo set target a energy misma. Si imprimimos target , mostrará el valor de la energía. Así como así. Entonces 100. Pero hay que recordar una cosa. Cuando haces esto, cuando clonas una variable, habrá dos cosas separadas. Como puedes ver ahora tenemos energía objetivo, ambos teniendo 100, lo que significa que si hacemos algún cambio posterior a energía después de la clonación, por ejemplo, 50, si imprimimos target, target seguirá siendo con el valor más antiguo. Entonces en estos momentos todavía vemos 100 porque el objetivo no se ha actualizado, mientras que la energía sí, como se puede ver, ahora tienen dos valores diferentes. El truco secreto para poder seguir haciendo a Target consciente de los cambios que hacemos a la energía, incluso después de la clonación es solo este encapsular el nombre completo de la fuente entre dos códigos, así como esto Así que el objetivo ahora se convirtió en la energía de cadena con $1. Y en consecuencia, cuando hacemos cambios posteriores a la energía, así que se convirtió en 50 ahora e imprimimos target, déjame mostrarte lo que pasó. Guau. Ahora vemos 50, que es el valor actualizado de la energía. Déjame mostrarte aquí. Objetivo en teoría, nunca se convirtió en un número. Acaba de convertirse en la referencia, el vínculo directo con la energía. Solo con un truco puedes hacer cosas increíbles. Por ejemplo, puedes usarlo para sistemas bancarios donde puedes hacer arreglos complejos que contengan múltiples valores y luego hacer referencia a todos aquellos bancos con una sola variable a los que puedan llamar target o target activo. Esto escatimará miles de líneas de código porque solo puedes comprimir cosas complejas con esta sencilla solución. Y finalmente, puedes usar impresión para hacer cambios directos a la energía. Simplemente encapsulamos la energía establecida 50 dentro de una impresión como esta, y luego cambiamos la energía para apuntar así Y luego encapsulamos todo lo que no sea una variable dentro de comillas, así como esto Entonces esto, esto se convierte en citas, también el paréntesis, ¿verdad? Y también, tenemos que asegurarnos de que también tenemos los espacios. Entonces esto tendrá un espacio, derecho. Así como así. Y luego entre todos estos elementos, necesitamos poner un plus, más más más. Entonces ahora lo que va a pasar es que vamos a cambiar directamente el valor real de la energía, solo usando el nombre del marcador de posición, que es target porque esto idealmente en un juego real va a ser algo relativo Esta va a ser una solución para cambiar los valores reales de origen del valioso importante. Déjame mostrarte lo que acaba de pasar. Energía ahora 50, y lo hicimos directamente desde la impresión usando target. Así que el objetivo ahora representa la energía directamente. Entonces no es sólo un clon, sino un vínculo directo con la energía. Y puedes cambiar los valores fuente de una variable solo con esta técnica. 87. Macros personalizadas: Supongamos que esto es algo que reutilizamos varias veces, quizá demasiadas veces en el juego. Entonces queremos que la comprima en una sola palabra. Para hacerlo, necesitamos usar algo llamado macros personalizadas. Juego, clamper, dos macro. Ten cuidado porque ahora vamos a ver muchos paréntesis, crear dos paréntesis En el interior, escribimos a datos como este. Entonces dentro de aquí, solo colocamos corchetes de tubo. Después sales de este primer paréntesis y escribas dos corchetes más Muy bien. ¿Adivina qué? Ahora, dentro de aquí, puedes colocar donde quieras comprimir en esta sola palabra Lc. Déjame mostrarte a pantalla completa, y el camino es justo esto. Escribe dos parenss, escribe el nombre de la macro castm Así como esto. Entonces, fundamentalmente, esto aquí representa esto para el resto del juego. Entonces, para usarlo, usa esto en lugar de eso. Así que imagina usar esto en trozos muy grandes de código que probablemente serán así, ¿verdad? Muy grande. Así que establece la prueba 1,000. Llamamos a nuestro clamper después de la prueba, así. Entonces ahora si imprimimos prueba, debería ser 100 porque la clamper ahora está funcionando Así que vamos a ir aquí. Prueba de impresión. Guay, eso es todo. 88. Máquina de escribir: Entonces déjame mostrarte cómo tener el cordel efecto máquina de escribir Copia el documento que se llama máquina de escribir y pega todo este código aquí. Como puedes ver, te dejé algunos comentarios, entiendes completamente cómo funciona. Puedes cambiar el estilo de toda la cosa desde aquí. Entonces ahora mismo va a ser ninguno, pero se puede llevar con desenfoque o donde quiera. Vamos a pantalla completa. Déjame mostrarte lo que está pasando aquí. El contenido de esta máquina de escribir necesita ser cambiado a partir de aquí. Tu texto personalizado va entre estos dos códigos así como así. Permítanme solo una vista previa de esto. Entonces es escribir esto. También puedes notar que la velocidad de mecanografía no solo es plana. Hay una ligera variación en la velocidad de cada personaje individual. Eso es algo que puse a propósito en este algoritmo. Si vas hasta aquí abajo, hay un comentario por personaje velocidad granular. Aquí. Estos números son literalmente la velocidad de cada carácter individual. Ahora mismo, va de un milisegundo a 60. Bueno, puedes cambiarlo. Tienes un efecto más lento. Por ejemplo, de 100 a 200 milisegundos, tal vez 50, obtendrá obviamente una escritura más lenta En general, una característica final de todo esto es que si vamos hasta el fondo de esto, verá otro comentario, inserte el evento de escritura post aquí. Eso va a ser realmente poderoso porque si insertas donde quieras en este espacio, solo podrás hacer que algo suceda cuando termine esta escritura. Entonces, exactamente después de que esté hecho, digamos que mostramos un gancho. Fuera de todo esto, colocamos un gancho. Entonces aquí, enganchar uno, y luego decimos terminado. Entonces ahora si tenemos una vista previa esto veremos terminado solo cuando esté hecho. ¿Ves lo que acababa de pasar? Entonces esa es la belleza de todo esto. Y obviamente, como puedes ver, esto es muy grande como un código, así que puedes simplemente comprimirlo en una macro personalizada ahora que sabes cómo hacerlo, realmente puedes copiar todo esto y comprimirlo en una sola palabra. Y si te estás preguntando cómo cambiar entonces el contenido dinámicamente, hecho puedes hacerlo simplemente usando un mapa de datos o TH. ¿Dónde queremos? Sólo cámbiala aquí. Entonces establece el texto de la máquina de escribir a una segunda variable para que lo usemos como índice, ¿verdad? Entonces puede ser, digamos, texto, índice, por ejemplo, de, y luego aquí, solo creas tu mapa de datos con pares de valores. Esa es una solución para hacer esto dinámico. O puedes usar NTH como dije, NTH, esa es la solución Entonces, literalmente, no hay límite. 89. Pantalla (macros personalizadas 2): Una alternativa válida al uso de macros personalizadas, C solo dedica un pasaje a la máquina de escribir. Nosotros lo llamamos lik test. Córtala y pela en la máquina de escribir, y luego podrás, antes que nada, liberar tu pasaje principal del viejo trozo de código Aún puedes usar la máquina de escribir en este pasaje, usando una fantástica macro llamada display type display. Y luego nombra exactamente el pasaje que quieras alojar en este pasaje, y automáticamente activará su código. Apenas con este truco, realmente va a ser lo mismo que si el código estuviera aquí en primer lugar. Déjeme mostrar. Así como así. Puedes llegar a ser aún más poderoso con solo hacer que esto se convierta en una variable, así que puedes usar la misma pantalla, tal vez dentro de un bonito gancho como este. Entonces puedes volver a ejecutarlo con esta variable actualizada con un nuevo nombre y Lully reutilizarla tantas veces como quieras, para mostrar diferentes pasajes Al combinar macros personalizadas con display, puede tener un código más limpio en general, obviamente. 90. ¡Pon un cronómetro!: Lo que sucede a veces es que necesitas poder medir tiempo absoluto en tu juego o realmente mostrar algún tipo de temporizador en tiempo real. Para ello, necesitamos tener algún tipo de reloj que vaya a acumular números a lo largo del tiempo. En primer lugar, vamos a llamarlo tiempo crudo. Sólo tienes que ir aquí. Tiempo crudo, mastica ocho más uno. Y luego colocamos esto dentro del ruido en vivo. En teoría, esto en última instancia será de 1 segundo. Entonces ese va a ser el reloj. Pero solo por ahora, vamos a hacerlo muy rápido para que podamos experimentar muy rápido con esto. Así que vamos a encapsular todo esto dentro de una vida. Entonces lo primero que va a pasar es ese tiempo, el tiempo crudo va a aumentar. Entonces creemos también variables, una para los segundos y otra para los minutos. Establecer segundos, dos, tiempo sin procesar. Y entonces las siguientes son las nuevas operaciones llamadas módulo así como así. Modulo 60. Entonces, cuando usas el módulo fundamentalmente, vas a constreñir ese número en ese rango, lo que significa que aunque este número aumente por encima de 60, entonces se va a reiniciar automáticamente 0-59 Ese es el truco. Usted reescala automáticamente un número acumulado en un rango específico que desee Ese es exactamente el comportamiento que queremos para el segundo. Entonces va a ir 0-59. Entonces solo creamos los minutos. Las minutas fundamentalmente, van a tener el mismo comportamiento. Llamamos a la nueva variable acta. Tho. Esta vez usamos tiempo crudo dividido por 60 a cada 60 segundos, vamos a crear un minuto. Pero entonces para evitar temas, obviamente, necesitamos redondear este número. Encapsulamos esta división dentro de un bonito piso. Solo mira esto, bien. Y luego solo necesitamos imprimir ya minutos más segundos. Simplemente convertimos estas dos cadenas, y ahora podremos tener algo de espacio para entender completamente lo que está sucediendo. Bien. Entonces vemos que los segundos van exactamente como deberían, y es contar los minutos. Entonces si quieres ir un poco más de, puedes hacer lo siguiente. Déjame mostrarte una cosa. Si ves ahora mismo, cuando tenemos menos de diez, solo tenemos un personaje, y eso crea un ligero cambio ida y vuelta en todo el asunto, lo cual puede ser molesto, cierto. Para usar una forma de arreglar esto usando una técnica llamada espaciado mono. Cambiar, en primer lugar, dentro de la impresión el nombre de estas dos variables añadiendo un dos. Entonces minutos dos y segundos. Entonces creamos algo de espacio aquí, e insertamos un cheque adicional establecido segundos él condiciona. Si segundos es inferior a diez, así que tiene un solo carácter, lo convertimos en una cadena. Entonces SDR y aquí dentro de las comillas, simplemente tecleamos cero y la propia variable Entonces segundos, así como así. Mientras que, en todos tus demás casos, segundos, entonces copiamos todo el asunto y podemos aplicar lo mismo a minutos, ¿bien? Ahora bien, en teoría, deberíamos tener el temporizador perfectamente mono espaciado. Vamos a intentarlo. Poof. ¿Ves? No hay salto. 91. Guardar el progreso de carga: Para si quieres poder guardar y cargar estados anteriores de tu juego, usa esta nueva macro llamada guardar juego. Así que solo creamos un nuevo botón. En el interior, usamos guardar juego. Y aquí solo necesitas especificar una o dos cosas. En primer lugar, el nombre de la ranura puede ser el nombre del jugador o simplemente una letra como esta o un número donde quieras. Entonces solo llámalo jugador uno. Así que solo puedes usarlo así. O puedes especificar la segunda cadena con una indicación contextual de dónde en el juego has guardado. Entonces, por ejemplo, estamos en el primero, y luego creamos un segundo botón para cargar a ese lugar más adelante en el juego. Entonces simplemente cambiamos la macro para cargar, también el botón, y eliminamos esto. Entonces solo queremos cargar esa ranura. En el otro pasaje, coloqué aquí una macro final, juegos guardados, que imprimirán automáticamente todas las ranuras actualmente utilizadas con sus propios nombres. Para que puedas consultar qué lotes son gratuitos, qué lotes se están utilizando. Puedes guardar tantos lotes como quieras. El único límite es la memoria del navegador. Ve aquí, prueba. Bien, entonces ahora tenemos este número uno. Tenemos todos estos lotes siendo utilizados. Número dos, vamos a hacer este incremento. Entonces, por ejemplo, ahora salvamos. Ahorramos mientras el dinero está en tres, y también hicimos cinco turnos, lo que significa que ya fuimos de ida y vuelta cinco veces. Así que ahorra. Entonces simplemente seguimos con nuestro juego. Como puedes ver, ya está nuestro slot siendo usado jugador uno se está salvando con forest one ya. Bien, entonces entonces continuamos, continuamos hasta que queremos que restaure un estado previo del juego Todo lo que tenemos que hacer es presionar carga e instantáneamente volvemos a tres, y los términos volvieron a cinco. Por lo que la ranura también recordará el número exacto de veces que visitamos cada pasaje. Entonces es realmente preciso. Ten cuidado porque si limpias las cookies de tu navegador, perderás también todas las ranuras guardadas que hiciste. Esto no es cierto en caso de que lances el juego completamente fuera de línea. Entonces en ese caso, estás a salvo, pero ten cuidado en caso de que lo juegues completamente online. Y por último, algo que recomiendo encarecidamente es integrar realmente una doble verificación que confirme al jugador que realmente se salvó con éxito porque hay casos específicos en los que algo puede salir mal y el navegador puede tener problemas para guardar el juego. Entonces en ese caso, queremos que el jugador sepa sobre este incidente. Entonces para hacerlo, solo integra el guardado en un si así, coloca a Lully todo esto en una condición if Como resultado, en caso de que guarde correctamente el juego, solo mostramos algún mensaje de confirmación guardado. De lo contrario, vamos a traer de vuelta mensaje de error. Entonces Lully solo escribe, Oh, no. Te recomiendo encarecidamente que siempre integres las guardas en algún tipo de si así. Entonces ahora si probamos y ahorramos. Guau, en este caso, acabas de traer de vuelta una bonita verdad, lo que significa que se guardó correctamente. Entonces ahora si volvemos aquí, todavía tenemos jugar uno siendo guardado correctamente, y eso es todo. 92. Stingers musicales: Bien, así que hablemos de aguijones de audio. Fundamentalmente, cuando juegas una primera pista en guita como esta, vamos a llamarlo pista A. Y luego quieres hacer la transición a una pista completa una siguiente porque tal vez algo cambió en el juego y quieres hacer hincapié en el hecho de que entraste en un estado diferente en el juego Queremos activar de inmediato una pista diferente. Vamos a llamarlo pista B así. Normalmente, como puedes ver, hay un cambio instantáneo porque no tienes ninguna forma de hacer la transición sin problemas. Sí, puedes usar algún tipo de fundidos cruzados para hacerlo un poco más suave, pero nunca será exactamente tan suave como quieras, a menos que uses algo llamado aguijón Los aguijón son exactamente una pieza de audio que tocas simultáneamente alrededor del final de la pista A así para tener una transición más suave a la Pista B. Así que ahí es exactamente donde acabas de incorporar el aguijón En cuanto sepas que vamos a entrar en la pista B, empezamos a activar el aguijón que va a tocar al mismo tiempo Ahora, hay dos tipos principales de aguijones. Hay no musicales y musicales. Los aguijones no musicales son bastante fáciles de integrar. Solo necesitas integrar algún tipo de oh sonido alrededor del momento en que actives el interruptor para ir a la pista B, y puede ser lo que quieras. Puede ser como un sonido shooh o un sonido de clic o en algún tipo de ruido que va a enfatizar el hecho de que vamos a entrar en un siguiente estado en el juego Eso es bastante fácil de hacer. En cambio, es muy diferente si queremos que el aguijón sea realmente musicalmente a tiempo con la canción Si aprendes a hacer esto, puedes hacer lo que quieras para que tu experiencia sea extremadamente más interesante. Entonces, el primer paso para que esto sea posible es preparar los bucles. Entonces necesitas preparar el bucle principal y el aguijón. Estos dos necesitan comenzar exactamente al principio del bar de la barra de música. 90% de la música va en cuatro latidos por barra. Entonces va así. Uno, dos, tres, cuatro, uno, dos, tres, cuatro, todo el tiempo, así. Fundamentalmente, queremos que los bucles comiencen exactamente en uno. Entonces necesitamos que el audio comience inmediato así en el uno. Eso es muy importante. Lo segundo es que el bucle principal no necesita ser extremadamente largo. Entonces, idealmente, de 30 a 40 segundos es el punto óptimo. Intenta que sea lo más corto posible para que solo puedas volver a activarlo. Por lo que no es necesario que tenga 30 minutos de duración. De lo contrario, el sistema comenzará a recorrer todo el lugar. Vamos solo aquí, antes que nada, el bucle principal en el que vamos a integrar luego el aguijón Bien, y luego reinicie. Entonces ahora, déjame escuchar a este aguijón. Solo, vamos. Bien, una vez más. Vamos. Entonces tienes una idea de lo que vamos a hacer. Vamos a integrar un sistema que activará esta pieza de audio, no sólo cuando queramos, sino también exactamente tiempo con uno de los compases de esta pista principal. Por lo que no arrancará al azar. No interrumpirá la pista principal de repente. Sólo hará la transición a tiempo con la barra. siguiente paso es calcular exactamente la longitud de un latido de la canción del loop. Si ya conoces algunos softwares como QBs o Ableton Live FL Studio, ya sabes cómo hacerlo Pero en caso de que no lo hagas, solo puedes usar esta herramienta aquí llamada tune bat.com Lyser Dragon drop the loop en el espacio Solo espera un par de segundos, e instantáneamente te dirá el BPM de ese bucle Entonces sé que personalmente, cuando creé este bucle estaba en 180 BPM, así que voy a usar eso Pero siempre y cuando te dé un número par como este, que es exactamente la mitad. En este caso, 90. Es perfecto. Así que solo puedes usar eso o duplicar eso en caso de que quieras una medida más rápida. Pero fundamentalmente, esa es la forma más fácil de hacer esto. Con este conocimiento abajo, necesitamos calcular la longitud absoluta de un solo latido. En este caso, sé que hice el loop en 100 BPM, lo que significa que 60 segundos son en 1 minuto Simplemente podemos dividir 60 por BPM que veas, 180, y obtenemos la duración absoluta y los segundos de un solo latido Este número es sumamente importante para que este sistema funcione. Copia los primeros diez dígitos así uno, tres, nueve, diez. Ya va a haber suficientes. Bien, antes que nada, solo crea un botón de ruido llamado play. Y aquí tocamos la pista principal. Así que solo haz un seguimiento. Esto lo sabemos en este punto. Bucle principal, jugar cuando sea posible. Entonces inmediatamente después empezamos a hacer que el reloj musical comience con la pista principal juntos. Así que inmediatamente después empezamos un bonito directo. Y aquí, vamos a usar el número que calculamos. Si recuerdas, fue 0.10 tres, así que segundos. Realmente importante. Esta es la duración de un solo latido. Entonces va a hacer uno, dos, tres, cuatro, uno, dos, tres, cuatro. Podemos usar un operador de módulo. Set beats 28 más uno. Haz dos paréntesis más así. Aquí, justo afuera, colocamos un bonito ModuFour. Entonces vamos a tener cuatro números. Eso es exactamente lo que queremos. Y por último, vamos a compensarlo. Creamos una segunda variable, conjunto beat dos beats más uno. Solo para mostrar exactamente uno, dos, tres, cuatro, pero en el punto de vista de la eficiencia, solo puedes evitar este paso, pero para que quede más claro por ahora, solo vamos a compensarlo. Bien, ahora solo para verificar lo que tenemos, imprimir, batir dos, ver qué tiene hasta el momento. ¿Listos? Vamos. ¿Ves lo que está pasando? Este número aquí es exactamente a tiempo, canción. ¿Por qué no lo haces tú? ¿Por qué no lo haces tú? ¿Por qué no lo haces en cuatro? Exactamente a tiempo. Sigan adelante. Sigan adelante. Entonces como puedes adivinar, podemos aprovechar el hecho de que ahora Twine es perfectamente consciente del momento de la canción para desencadenar, para sincronizar perfectamente otra pieza de audio para hacer la transición lejos de esta Esa es la belleza de los cantantes musicales, y ahora estamos listos para el paso número dos La mejor manera de integrar el aguijón ahora es crear, primer lugar, un bonito botón Entonces justo aquí, y hacemos que la pista principal se desvanezca así en aproximadamente, digamos, 0.5 segundos, todo el camino a cero, así. Esa es la cosa. Inmediatamente después de que conseguimos un gatillo el aguijón llamó aguijón una jugada así Ahora mismo, va a interrumpir la canción al azar. Entonces esto no es lo que queremos. Para que el aguijón entre exactamente al inicio de cualquier barra del bucle principal, solo necesitamos activarlo exactamente cuando beat dos está en uno. Ese es el camino. Entonces, para hacer un sistema que espere automáticamente a que llegue ese número, use un evento. Así que sólo vamos aquí. Cuando Bs es uno, así que exactamente el comienzo de un nuevo bar, desencadenamos este evento así. Cuando presionemos, solo le diremos al evento que comience a estar al tanto y solo esperaremos entonces automáticamente a que venga el que viene, y solo entonces automáticamente hará que este evento ocurra. Déjame mostrarte lo que tenemos hasta ahora. Bien, placa. Ahora voy a presionar fin. Ten cuidado. Bien, bien, bien. Estamos empezando a llegar ahí. Pero, antes que nada, para hacerlo más satisfactorio, podemos poner en capas un sonido adicional en el momento exacto que presionemos. Entonces, exactamente cuando hacemos clic, queremos que algunos clics se superpongan y oculten aún más la transición. Así que solo usamos Click y también puerta. Pruébalo ahora. ¿Listos? Vamos. ¿Te diste cuenta de eso? Cuando hago clic, también activó un sonido adicional para ocultar la transición. Hagámoslo otra vez. No, oh bien. Bien. Probablemente note que todavía hay un problema. Si accidentalmente presiono y cuando ya está en uno, que seguirá interrumpiendo la canción. Por lo que queremos que agregues una comprobación adicional para asegurarte de que solo se activará cuando ni siquiera se ingrese una. Entonces, para hacerlo, inserta fundamentalmente el primer evento dentro de otro evento que esta vez va a esperar al número cuatro. Así, solo agregamos un nuevo corchete cuadrado, así que son dos bailan uno dentro del otro. De esta manera, asegúrate de que activará uno cuando esté fresco y no cuando ya esté arrancado. Ahora, fundamentalmente, aunque haga clic y mientras muestre uno, esperará todo el resto de la barra para activar el aguijón Así que vamos a agregar un comentario aquí. Esto evita que se desencadenen a mediados de uno. Eso es lo que hace. Ahora solo prueba con todas estas correcciones. Ahora voy a presionarlo en uno a propósito para mostrarles que todavía no interrumpirá la canción, pero esperará el resto del bar antes de entrar en el aguijón. Déjame mostrarte. ¿Ves lo que pasó? Bien. Ya sabes. Y puedes hacer esto aún mejor simplemente superando un sonido adicional cuando el aguijón real Bien. Sí, este es mi regalo para ti. Norbalytwine, no sería posible hacer esto Pero ahora ya sabes cómo hacerlo. 93. Monitorear los cambios (sistema de sonido de escritura): Muy bien, entonces déjame mostrarte algo más que es interesante Supongamos que tenemos aquí este cuadro de entrada. Y queremos que tengas una forma de asignar sonidos de teclado cada vez que hagamos clic en cualquier tecla del teclado. Derecha. Entonces ahora mismo es completamente silencioso lo cual es aburrido. Así que vamos a hacerlo más vivo usando el sonido. El primer paso es preparar múltiples sonidos que son muy cortos. Se trata de 16 variaciones del mismo tipo de sonido. Déjame tocarlos una vez en secuencia. Vamos. Muy bien, una vez más. A. Entonces estos son los 16 sonidos que vamos a integrar en nuestro juego. Entonces, en teoría, una forma de lograr esto es obviamente instalar tanto el audio de la biblioteca de audio Hall como la ratonera Entonces eso ya está abajo en el Javascript. Y crea un enlace por cada pulsación de tecla posible y luego vincula esos a un sonido en un evento, en un gancho. Pero eso, como puedes escuchar, puede llevar mucho tiempo. Y tampoco resuelve este problema que si usamos la caja de entrada Harwey, desviará temporalmente la entrada leída por Entonces incluso haciendo eso, todavía no podrá activar los ganchos que están vinculados con ratonera Entonces necesitamos usar un enfoque diferente. La manera de resolver este problema es el hecho que cuando tecleamos algo aquí, ¿notas aquí lo que está pasando? La frase variable está cambiando en cuanto tecleamos algo. Entonces está cambiando. Podemos usar esto a nuestro favor. Construye un sistema que desencadena sonidos cada vez que cambia esta variable. El primer paso es más allá de algún tipo de reloj que va a monitorear la variable de oración en cualquier momento. Hesen aquí, gasta, como puede ver, cada 0.15 segundos. Vamos a poner la oración dos a la sentencia. Entonces estamos literalmente clonando frase a una copia de sí misma. Esto actúa como monitor. Este número aquí cambia según qué uso vas a hacer a este sistema. Para escribir sonidos muy rápidos, sonidos cortos, 0.15 es el punto dulce que personalmente encontré. Pero obviamente, modifica esto a tu gusto cuando estés usando esto para pasos, sonidos, por ejemplo, o situaciones similares La consecuencia es que ahora con esto en su lugar, cada vez que tecleamos algo nuevo. vamos a tener un clon de Aquí vamos a tener un clon de oración que sólo le sigue, pero sólo con un ligero retraso. La oración es un poco más lenta. Gracias a esto, podemos saber literalmente ahora cuándo cambió la oración en comparación con una versión ligeramente anterior de sí misma. Para el segundo paso, en copia exactamente el contenido de este gancho aquí. Tipo de sonido. Entonces solo congela este marco, copia exactamente lo que ves aquí. La forma en que funciona es que solo verás un evento, en primer lugar, que está monitoreando cada vez que la oración se vuelve diferente a la oración. Eso es realmente lo que significa. No es tapete significa que cada vez que frase te vuelves diferente. Entonces ya no es lo mismo, desencadena el contenido de este evento, que es, como puedes reconocer solo el truco de un disparo, tocas un sonido aleatorio de la playlist cded máquina de escribir aquí, que acabo de definir ya en las precargas Aquí, déjame mostrarte que tienes aquí la definición de la lista de reproducción cuando empezamos máquina de escribir. Yo solo contiene ya los 16 sonidos que ya definí incluso aquí en todo el pasaje de la pista. Ya sabemos sostén esto en este punto. Y también, puse aquí el volumen para máquina de escribir, 0.6. Entonces dije, volvamos al pasaje principal. Entonces finalmente, el truco final es volver a ejecutar este gancho, por lo que recargará el evento e inmediatamente volverá a estar al tanto de cualquier otra pulsación de tecla que hagamos. Ya sabes, algún consejo final, que colocas esta reejecución dentro de un ligero retraso Causa fundamentalmente, este truco final le permite filtrar algunos desencadenantes re adicionales que pueden ser molestos. Y de esa manera, la reproducción se volverá muy limpia y precisa. Ahora déjame mostrarte el resultado final. Entonces jugamos Todo bien. Para que puedan ver, ahora es extremadamente preciso. Esa es la belleza de esto. Whoo 94. Consideraciones finales sobre la exportación: Bien, así que supongamos que tu juego finalmente está listo para ser lanzado. Cuando llegue ese momento, debes decidir en qué forma lanzas el juego. Hay dos caminos principales. O lanzas el juego completamente en línea así en línea o completamente fuera de línea. La principal diferencia entre estos dos es que si vas completamente en línea, tu juego estará completamente representado por un enlace al que gente solo accederá y luego ejecutará el juego desde el propio navegador. Mientras que, si te desconectas completamente, será más como un juego de Steam que la gente descargue completamente en su propia máquina. Y luego correr localmente en la propia máquina. Así que solo se ven como un archivo que ejecutan localmente usando el rendimiento real de su máquina. Generalmente, te recomiendo desconectarte porque te brinda la experiencia más reactiva. Así que no tienes absolutamente ningún problema con la reproducción de medios, imágenes, videos, audios todo al mismo tiempo Puedes volverte realmente loco con los elementos de acción, ningún problema en absoluto. Mientras que, si te conectas por ese tipo de juego, eso va a tardar un poco más porque no sabes si la gente va a tener problemas con su Internet. Si tu juego tiene muchos medios y te ves obligado a ir completamente en línea, bueno, en ese caso, estirar optimizas tu juego tanto como sea posible. Así que haz que los archivos sean lo más pequeños posible para que puedan descargarse con menos datos en todos los dispositivos desde los que juegues esto. La razón por la que prefiero generalmente offline es que en realidad, hace que el hecho de que la gente descargue el, el archivo ejecutable local poco más experiencia personal. Esa va a ser una consideración que hay que tener en cuenta. Mientras que, si solo tienen un enlace, aún permanecen en el navegador. Pueden distraerse. Entonces, si quieres que el juego sea lo más reactivo e inmersivo posible, desconecta 95. Preparación del juego: Exporta el juego prácticamente. Antes de hacerlo, vamos a explorar estos tres pasajes. Acabo de preparar la mini demo que contiene texto y audio a la vez. Muy bien. Entonces, se ve que este conjunto para estar más cerca de un proyecto real. Entonces, independientemente de si vas a lanzar esto como un archivo sin conexión o como completamente en línea, necesitas cambiar todas tus referencias de medios con rutas relativas. Derecha. Entonces, si exploraste el capítulo sobre audio, ya lo sabes , ¿verdad? Pero en caso de que te saltes eso, déjame mostrarte lo que quiero decir. En caso de que uses videos, archivos de audio con ruta absoluta como esta, necesitas cambiar absolutamente a todos estos tipos con PAD relativos. Por ejemplo, para este archivo aquí, haga clic en él cambia de este formato así a un formato de manera más simple que comienza con un punto y una diagonal inversa, y luego se vuelve así Slash de audio, y luego el nombre del archivo real. Así es como se ve una ruta relativa, y necesitas dar el paso para todos tus medios que estés usando, ya sean videos, audios, imágenes, todos ellos necesitan estar en una carpeta simple llamada audio video Images Entonces eso es lo primero. Utilice rutas relativas antes de exportar. Y luego solo vas fuera de aquí a la lista de todas las historias, y solo exportas, publicas tu juego aquí, construyes y luego publicas para archivar. Y aquí, sólo va a convertir este juego en un archivo TML. Eso es fundamentalmente todo el juego comprimido en un solo archivo. Entonces solo tienes que entrar en una carpeta específica que elijas, y colocas el STML en esa carpeta Después crea tres carpetas acuerdo a cualquier medio que utilices. Y colocas todos los archivos que usas en estas carpetas. Tenga cuidado al usar P threes y OGGs para audio, JPEG para imágenes y luego MP fours Eso es todo lo que necesitas usar. 96. Exportar versiones en línea: Para. En caso de que quieras que el juego esté disponible completamente en línea, necesitas cambiar el nombre del HTML para simplemente indexar así. Cuando termines con esto, así tienes todos los medios aquí, el formato, cambias los caminos, tus familiares. Solo necesitas comprimir el índice y todos los medios de carpetas en un archivo zip. Así que solo haz clic derecho, usa cualquier programa que cree cremalleras. Asegúrate de que va a ser un archivo zip. Así, y luego comprimirlo. Este es el archivo que vamos a subir a un sitio específico llamado HIO. Así que déjame mostrarte. Sitio web completamente gratuito, crea una cuenta, aquí HIO, entra en tu dashboard y crea un nuevo producto. Crear. Damos un nombre, por ejemplo, Aventura uno. Las cosas más importantes son las siguientes. Usted va aquí tipo de proyecto. Tú eliges lo que va a ser en este caso, va a ser archivo HTML. Entonces hacemos esto, y luego seleccionas si quieres que te paguen o va a ser un juego gratis, lo que quieras. Por ahora, solo ve todo el camino hasta aquí, sube archivos. Haga doble clic en el archivo zip así. Entonces eliges todas las demás cosas. Va a ser jugable desde el navegador. Entonces vamos hasta aquí abajo. Queremos que el juego esté completamente en pantalla completa. Podemos verificar compatible con dispositivos móviles, aunque probablemente se rompa, al menos lo hará ligeramente visible desde el móvil. Vas todo el camino hacia abajo. Puedes llenar todos los detalles, omita todas estas piezas por ahora. Y por último, solo las secciones de privacidad. Si quieres que este juego sea simplemente no listado o completamente público, todas las cosas que quieras Entonces, si solo quieres probarlo, ve aquí, ahorra. Bien. Y entonces estamos listos para probarlo. Entonces vamos aquí, corra. Eso es. Como probablemente notaste, en los primeros segundos cuando empezamos el juego, seguía usando el teléfono predeterminado y el audio no arrancó de inmediato. Eso es porque se estaba produciendo la precarga. Por eso si lanzas el juego en línea, incorpora algún tipo de pantalla de carga. Para que puedas obligar al jugador a esperar algunos segundos con una barra de carga. Y así, en segundo plano, el juego cargará todos los medios y también todos los teléfonos. Esa sería la forma de evitar ese mini bicho al principio. Trate de optimizar los tamaños de todos los medios tanto como sea posible. Donde tendrás una precarga muy rápida y serás compatible con el 99% de todos los dispositivos. 97. Importar fuentes: Si te preguntas si hay alguna manera de usar automáticamente la fuente que deseas en la versión completamente online, la respuesta es sí. Para hacerlo, agrega esta línea aquí a nuestro CSS. Copia y pega este código aquí. Eso es. Fundamentalmente, lo que esto hace es simplemente llamar a la API de los teléfonos de Google y simplemente te permite usar cualquier teléfono de ese sitio web, cambiar esta sección con exactamente el nombre de la fuente. Entonces vas al teléfono de Google. Buscas cualquier teléfono que quiera usar. Entonces en este caso, elegí este pixel $0.05, copia el nombre de aquí y lo pegas en esta sección aquí y sirves el mismo nombre exacto segunda vez aquí en familia de fuentes así Cuando inicies el juego en línea , también descargará y mostrará la fuente personalizada real. Por eso en el primer segundo, seguía usando el valor predeterminado, luego descargó e inmediatamente refrescó todo el texto de la historia con el teléfono correspondiente También puedes usar varios teléfonos . Esa es tu elección. 98. Exportar versiones sin conexión: Si quieres que tu juego esté disponible sin conexión, bueno, la forma más fácil sería dejar tu archivo índice así, donde simplemente puedes renombrarlo en ese punto, entregar esto como un archivo zip que contiene las carpetas raw. Pero en realidad, la desventaja de esto es que la gente será podrás ver todos los contenidos directamente desde estas carpetas fuente. Pero en teoría, podrías simplemente entregar esto donde la gente acaba de iniciar este archivo y se ejecutará desde el navegador así. Entonces como puedes ver está ahí funcionando correctamente. Entonces esa será la primera opción súper rápida. Entonces, si quieres hacer estas carpetas en un formato diferente al que la gente no podría acceder tan fácilmente, solo puedes usar un llamado wrapper. Esta es una aplicación para Windows, pero también hay algunas otras para Mac que hacen lo mismo. Se llama envoltorio HTML. Esto se llama WebTeecutable. No lo cargues, y luego entra en un bonito sandbox aquí e instálalo. Así, omita todos los pasos. Lo empezarás desde aquí. Entonces la forma en que funciona, da clic aquí, Bros. Seleccione la carpeta que contiene todo el juego No comprimido. Seleccionar carpeta. Bien, entonces vayamos a pantalla completa. Deja la mayoría de estas cosas por defecto, pero esto te permitirá personalizar en detalle cómo se verá el ejecutable final cinco. Así podrás asignar tus imágenes personalizadas para el icono, como puedes ver aquí. Pero si quieres que te mantengas simple, ve aquí ajustes de ventana, cosas clásicas. Al igual que, quieres que el juego sea ventana recizable o vaya en pantalla completa automáticamente A lo mejor, sí, queremos que el juego sea recizable. Vamos aquí y para exportar configuraciones eliges cuántos sistemas operativos será compatible esta sola compilación. Entonces tal vez quieras un solo archivo para cualquier sistema. Entonces solo marca todas estas casillas. Obviamente, cuantas más verificaciones habilites, más grande será el archivo. Entonces tal vez quieras hacer un experto separado por sistema operativo. Entonces en este caso, solo quieres Windows 64, y eso es todo. Entonces aquí puedes volver a verificar todos los medios, ya que puedes ver que están siendo detectados correctamente. Entonces puedes elegir carpeta Yput. Entonces digamos que voy a entrar en el escritorio. Final, así como así. Seleccionar carpeta. Bien. Se puede intentar reducir el tamaño aumentando el deslizador, pero por ahora, vamos a mantenerlo en cero, así que tenemos una exportación realmente rápida. Y por último, solo puedes confirmar todo esto. Entonces vas todo el camino hasta aquí y exportas. La primera vez que harás esto, tardará un poco más ya que en cierto modo descargará algunas características adicionales para poder hacerlo en primer lugar. Pero entonces, a partir de la segunda exportación, será instantánea. Como pueden ver, ya lo descargo, así que ya está hecho. Entonces entonces solo comprobamos lo que tenemos. Bien, vamos aquí. Final, tenemos, nuevamente, la misma carpeta que contiene la compilación para Windows 64. Poof. Bien. Y el archivo en sí es este tipo de aquí, juego al que también puedes renombrar Adventure one. Y nuevamente, se puede personalizar el comportamiento de este archivo cuando las personas hacen doble clic y personalizan el icono, etcétera Así que comencemos esto. Poof. Bien. Entonces, como puedes ver, podemos mover nuestro juego a pantalla completa. Es todo lo que hay reactivo, súper reactivo, ¿listo? Así como así. Sí. Bien. Y en caso de que la gente vaya así, como puedes ver las poses de audio, así va automáticamente en pose, como sabemos, también podemos cambiar ese comportamiento. Y eso es todo. También hay diferentes envoltorios que hacen este proceso de una manera ligeramente diferente Pero esta es una especie de solución de fácil acceso. Aquí, no hay forma de acceder a los medios reales. Por lo tanto, sus archivos reales están en realidad un poco más protegidos.