Estados y condiciones

Gestionar estados de ítems y lógica condicional

Lógica condicional

Agrega condiciones a un trigger, para que la acción solo ocurra si se cumplen esas condiciones. Por ejemplo, hacer clic en una puerta solo activa la acción "Open" si no estaba ya abierta.

Para añadir una condición, haz clic en el icono de tres puntos junto a Trigger event y selecciona Add Trigger Condition.



Un solo trigger puede incluir múltiples condiciones. Haz clic en el + icono para agregar más condiciones. Cuando existe más de una condición, puedes seleccionar una de estas opciones:

  • Todas las condiciones deben cumplirse (AND): El trigger solo ocurre si cada una de las condiciones es verdadera.

  • Cualquier condición puede cumplirse (OR) El trigger ocurre si al menos una de las condiciones es verdadera.



States

El States componente está incluido en varios smart items. Enumera los posibles estados en los que el smart item puede estar. En un momento dado, el smart item se encuentra en uno de estos estados. Por ejemplo, una puerta puede estar Open u Closed. La acción Open establece el estado en Open, la acción Close establece el estado en Closed.

Puedes hacer lo siguiente con los estados:

  1. Usar una condición en un trigger para comprobar el estado de una entidad. De esa manera la acción solo se realiza si un estado específico está activo.


  1. Cambiar un estado vía el Set State action.


  1. Reaccionar a los cambios de estado vía el On State Change trigger event.

Para alternar entre dos acciones, define dos triggers, cada uno con una condición que compruebe un estado. Por ejemplo, las puertas tienen un trigger que activa la acción Open, con una condición que primero comprueba que el estado de la puerta es Closed, y otro trigger que activa la acción Close, con una condición que comprueba que el estado de la puerta es Open. Solo uno de los dos se activa cada vez que el jugador hace clic en la puerta.



Puedes añadir tantos estados como quieras a un smart item. Simplemente haz clic en el Add New State botón para añadir otro a la lista.



Uno de los estados está seleccionado como predeterminado; el ítem siempre comenzará en este estado cuando la escena se ejecute. Puedes asignar un estado diferente como predeterminado haciendo clic en los tres puntos junto a otro de los estados y seleccionando Set as Default.

circle-info

💡 Consejo: Mantén las interacciones entre ítems simples. Por ejemplo, evita escenarios como tener un botón que abra una puerta activando tres acciones: reproducir la animación de la puerta, reproducir el sonido de la puerta y cambiar el estado de la puerta. En su lugar, haz que el botón cambie el estado de la puerta. Luego usa un On State Change trigger para que la propia puerta maneje la reproducción de la animación y el sonido cada vez que el estado cambie.

Counter

Usa la Counter componente para llevar la cuenta de un número, que puede cambiar a medida que el jugador realiza acciones en la escena. Puedes usar los valores del contador en la lógica condicional.

Cuando una entidad tiene un componente Counter, puedes ejecutar las siguientes acciones sobre él:

  • Increment Counter: Incrementa el valor del contador en 1.

  • Decrease Counter: Disminuye el valor del contador en 1.

  • Set Counter: Establece el valor del contador a un número específico, por ejemplo para restablecerlo a 0.

Usa la On Counter Change trigger para realizar una acción cada vez que cambie el valor del contador. Añade una condición a este trigger para que solo se active después de superar cierto umbral.



En una condición, puedes comprobar si el valor del contador es

  • Mayor que un valor dado

  • Menor que un valor dado

  • Igual a un valor dado

circle-info

💡 Consejo: Para comprobar mayor o igual, puedes añadir dos condiciones al trigger, usando la opción AND.

Para hacer que una acción ocurra solo una vez al superar un umbral, y que no se repita en cada incremento posterior, combina el contador con un State componente. Establece el State a "Done" cada vez que llegues al valor deseado, y añade una condición para comprobar este estado en el trigger.

Ver también

Última actualización