Trigger Area - Guía del usuario de Lumberyard

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Trigger Area

El componente Trigger Area proporciona servicios de activación genéricos mediante el uso de componentes Shape como límites.

Para añadir un componente disparador

  1. Cree una nueva entidad o añada el componente Trigger Area a una entidad existente.

  2. En el Entity Inspector, haga clic enAdd Componenty, a continuación, seleccioneTrigger Area.

    Entity Inspector muestra un mensaje que indica que al componente le falta un componente de servicio requerido y que se ha desactivado.

  3. Haga clic en Add Required Component (Añadir componente requerido) y, a continuación, haga clic en uno de los componentes de forma que aparecen.

    El componente de forma que ha seleccionado define los límites para el disparador.

  4. Si desea cambiar los límites del componente de forma, basta con quitar el componente de forma existente y, a continuación, añadir un componente de forma diferente.

nota

El componente Trigger Area (Área de disparador) no funciona con el sistema PhysX.

Propiedades del componente Trigger Area

El componente Trigger Area incluye las siguientes propiedades:

Network Bindable

Los componentes Network Bindable se sincronizan en la red.

Bind To Network (Vincular a la red)

Cuando se selecciona, sincroniza los componentes en la red.

Activation

Trigger once (Desencadenar una vez)

Si se selecciona, el disparador se desactiva después del primer evento de disparador.

Activated by (Activado por)

Seleccione si All entities (Todas las entidades) activa el desencadenador, lo cual permite a cualquier entidad activar el área, o si lo hace Specific Entities (Entidades específicas), lo que le permite seleccionar entidades específicas.

Filtros de etiqueta

RequiredTags (Etiquetas necesarias)

Una lista con las etiquetas necesarias para que una entidad active esta área.

ExcludedTags (Etiquetas excluidas)

Una lista con las etiquetas que excluyen a una entidad a la hora de activar esta área.

Interfaz de bus de solicitudes EBus

Utilice las siguientes funciones de solicitud con la interfaz EBus para comunicarse con otros componentes del videojuego.

Para obtener más información acerca del uso de la interfaz de bus de eventos (EBus), consulte Trabajo con el sistema de bus de eventos (EBus).

AddRequiredTag

Añade una etiqueta necesaria para los criterios de filtrado de activación de este componente. Hace que se vuelva a evaluar el disparador. Las entidades incluidas que ya no satisfacen los criterios de las etiquetas se retiran.

Parámetros

const Tag&

requiredTagEtiqueta que se va a añadir

Devolución

Ninguno

Capacidad de ejecución de script

RemoveRequiredTag

Quita una etiqueta necesaria de los criterios de filtrado de activación de este componente. Hace que se vuelva a evaluar el disparador. Las entidades incluidas que ya no satisfacen los criterios de las etiquetas se retiran.

Parámetros

const Tag&

requiredTagEtiqueta que se va a quitar

Devolución

Ninguno

Capacidad de ejecución de script

AddExcludedTag

Añade una etiqueta excluida a los criterios de filtrado de la activación de este componente. Hace que se vuelva a evaluar el disparador. Las entidades incluidas que ya no satisfacen los criterios de las etiquetas se retiran.

Parámetros

const Tag&

excludedTagEtiqueta que se va a añadir

Devolución

Ninguno

Capacidad de ejecución de script

RemoveExcludedTag

Quita una etiqueta excluida de los criterios de filtrado de activación de este componente. Hace que se vuelva a evaluar el disparador. Las entidades incluidas que ya no satisfacen los criterios de las etiquetas se retiran.

Parámetros

constTag& Etiqueta excluidaEtiqueta que se va a quitar

Devolución

Ninguno

Capacidad de ejecución de script

Interfaz de bus de notificaciones EBus

Utilice las siguientes funciones de solicitud con la interfaz EBus para comunicarse con otros componentes del videojuego.

Para obtener más información acerca del uso de la interfaz de bus de eventos (EBus), consulte Trabajo con el sistema de bus de eventos (EBus).

El componente Trigger envía notificaciones a:

  • Las entidades en escucha en TriggerAreaNotificationBus para la entidad con el disparador en ella.

  • Las entidades en escucha en TriggerAreaEntityNotificationBus para la entidad que entra o sale del disparador.

TriggerAreaNotificationBus

Con este bus, el juego puede permanecer a la escucha de eventos asociados a un disparador determinado. Informa sobre todas las entidades que entran y salen de este disparador.

OnTriggerAreaEntered

Informa sobre todos los agentes de escucha cuando enteringEntityId entra en este disparador.

Parámetros

enteringEntityIdID de la entidad que ha entrado en este disparador

Devolución

Ninguno

Capacidad de ejecución de script

OnTriggerAreaExited

Informa sobre todos los agentes de escucha cuando enteringEntityId sale de este disparador.

Parámetros

enteringEntityIdID de la entidad que ha salido de este disparador

Devolución

Ninguno

Capacidad de ejecución de script

TriggerAreaEntityNotificationBus

Con este bus, el juego puede permanecer a la escucha de eventos relacionados con el disparador y que estén asociados a una entidad determinada. Informa cada vez que el jugador entra o sale de cualquier disparador.

OnEntityEnteredTriggerArea

Se envía cuando la entidad entra en triggerID.

Parámetros

triggerIdID de la entidad en la que está el disparador

Devolución

Ninguno

Capacidad de ejecución de script

OnEntityExitedTriggerArea

Se envía cuando la entidad sale de triggerID.

Parámetros

triggerIdID de la entidad en la que está el disparador

Devolución

Ninguno

Capacidad de ejecución de script

Este es un ejemplo de script donde se utiliza la interfaz EBus.

local triggerexample = { Properties = { } } function triggerexample:OnActivate() self.triggerHandler = TriggerAreaEntityNotificationBus.Connect(self, self.entityId) end function triggerexample:OnDeactivate() self.triggerHandler:Disconnect() end function triggerexample:OnEntityEnteredTriggerArea(entityId) Debug.Log("------- TRIGGERED.") end return triggerexample