Skip to main content

Variables de Soniq: Hacer tus libros interactivos

Piensa en las Variables como la "memoria" de tu libro interactivo. Normalmente, un lápiz solo reproduce un sonido cuando tocas una imagen. Con las variables, el lápiz puede recordar lo que hiciste antes y cambiar su comportamiento en consecuencia.

Los dos tipos de memoria

  1. Interruptor (Sí/No): Úsalo para cosas que son verdaderas o falsas.
    • Ejemplos: "Tiene llave", "Luces encendidas", "Juego iniciado".
  2. Contador (Números): Úsalo para cosas que necesitas contar.
    • Ejemplos: "Monedas recogidas", "Puntos de vida", "Jugador actual".

Cómo usarlas

Interactúas con la memoria usando dos herramientas principales en el Studio:

  • Modificar variable: Esto "escribe" en la memoria del lápiz (p. ej., "El jugador acaba de recoger la llave, así que establece Tiene llave en Sí").
  • Bloque condicional: Esto "lee" la memoria y hace una pregunta (p. ej., "SI el jugador Tiene llave, ENTONCES reproduce el sonido de 'Apertura de puerta'").

Ejemplo: La caja del tesoro cerrada

En este ejemplo, el niño debe encontrar una llave oculta antes de poder abrir una caja del tesoro.

Paso 1: Crear la memoria

Ve a Configuración del proyecto > Lógica y variables y haz clic en Añadir variable:

  • Nombre: tiene_llave
  • Tipo: Interruptor (Booleano)
  • Valor inicial: No (Falso)

Paso 2: Esconder la llave (El "viejo roble")

Busca la imagen del árbol donde está escondida la llave. En el Editor de regiones, añade estas acciones:

  1. Reproducir audio: "¡Miras bajo las raíces y encuentras una vieja llave oxidada!"
  2. Modificar variable: Establece tiene_llave en Sí.

Paso 3: Crear la lógica de la caja

Busca la imagen de la caja del tesoro. Necesitamos dos "Bloques condicionales" para manejar ambos casos:

Caso A: Aún no tienen la llave

  1. Añade un Bloque condicional: SI tiene_llave es No
  2. Dentro del bloque, añade Reproducir audio: "La caja está bien cerrada. ¿Quizás haya una llave escondida cerca?"

Caso B: ¡Tienen la llave!

  1. Añade un Bloque condicional: SI tiene_llave es Sí
  2. Dentro del bloque, añade Reproducir audio: "¡La llave encaja! Giras la llave y la caja cruje al abrirse para revelar... ¡monedas de oro!"
  3. Dentro del bloque, añade Modificar variable: Establece tiene_llave en No (opcional, si la llave se "consume").

Cómo funciona para el niño:

  • Si tocan primero la Caja, el lápiz "revisa" su memoria, ve que tiene_llave es No, y les dice que está cerrada.
  • Una vez que tocan el Árbol, el lápiz "escribe" en su memoria que ahora tienen la llave.
  • Cuando vuelven a tocar la Caja, el lápiz "revisa" de nuevo, ve que tiene_llave es ahora Sí, ¡y reproduce el sonido de éxito!

Ejemplo: Lanzamiento de dados y azar

Puedes usar variables para crear juegos de azar, como un juego de mesa con un dado digital.

Paso 1: Crear la variable del dado

Ve a Configuración del proyecto > Lógica y variables:

  • Nombre: dado
  • Tipo: Contador (Número)
  • Valor máximo: 6

Paso 2: La acción "Lanzar el dado"

Busca la imagen de un dado in tu libro. En el Editor de regiones, añade estas acciones:

  1. Modificar variable:
    • Variable: dado
    • Operación: Establecer (=)
    • Valor: random(1,6) (Esto le dice al lápiz que elija un número aleatorio entre 1 y 6)
  2. Hablar texto: "El dado sacó un {dado}." (¡El lápiz anunciará automáticamente el número que acaba de elegir!)

Cómo funciona:

  • El comando aleatorio: Cuando el lápiz ve random(1,6), usa su temporizador interno de alta velocidad para elegir un número.
  • Hablar el número: Soniq se encarga del trabajo duro de hacer que el lápiz "hable" la variable. Cuando usas {dado} en un texto, Soniq pregenera el audio para cada resultado posible (1, 2, 3, etc.) para que el lápiz siempre diga el resultado correcto.