Aca ejemplifico con una imagen:
Analogicamente consideramos el cuadrado naranja una caja a la cual entran dos caños de agua y sale uno.
Ahora nosotros queremos que por el caño de la salida pase agua, la unica manera que tenemos de que salga agua es que pase agua si o si por los dos caños de la entrada.
Llevandolo a la computación:
Las dos entradas deben ser verdaderas para que la salida sea verdadera.
Basta con que solo una entrada sea falsa para que la salida sea falsa.
Propiedades:
Utilidad:
Algunos diran barbaro, todo muy lindo ¿Pero para que me sirve esto?.
Tiene muchisimas aplicaciones las cuales giran en torno a sus dos grandes virtudes.
La primer virtud que tiene esta entidad es la de comportarse como una compuerta AND.
Es decir si yo tengo dos botones y quiero que una puerta se abra cuando yo haya tocado los dos botones lo puedo hacer facilmente con una entidad multisource.
func_button (Para los dos lo mismo)
-target: multisource01
-flags: don't move
-delay before reset: 1
multisource
-name: multisource01
-target: puerta
func_door
-name: puerta
-flags: toggle
La segunda virtud que tiene es su relacion con el campo master de otras entidades. Por ejemplo supongamos una puerta que funciona con un simple func_button, nada del otro mundo. Pero ahora yo quiero que esa puerta pueda ser controlada con ese boton siempre y cuando haya sucedido "X EVENTO" (Apertura de otra puerta, multiples sucesos encadenados, etc.)
Procedo a explicarlo en la imagen:
func_button rosa:
-target: global
-flags: don't move
-delay before reset: 1
func_button verde:
-target: puerta
-flags: don't move
-delay before reset: 1
multisource
-name: multisource01
-target: puerta
-global state master: multi01
env_global
-name: global
-global state to set: multi01
-Trigger Mode: On
-initial state: Off
Esta entidad la voy a explicar mas adelante, pero para que entiendan lo que hace puede ser considerada (en este caso) como una memoria.
func_door
-name: puerta
-master: multisource01
-flags: toggle
La etiqueta master designa una entidad maestra (un multisource). Si la entidad maestra no esta activada la puerta se encuentra bloqueada, de lo contrario puede ser utilizada con normal frecuencia.
En este caso la puerta solo podra ser accionada por el boton verde si anteriormente el boton rosa fue activado.
A diferencia del juego de entidades anterior lo que era la entrada 1, una vez pulsado el boton rosa, se mantiene constante y la puerta solo depende del boton verde.
Se que no es un tema facil, trate de explicarlo de la manera mas sencilla posible, pero como se daran cuenta para explicar las aplicaciones es necesario explicar la entidad env_global, asi que mas adelante habra un tuto tambien.
Si se ponen a experimentar juegos de entidades pueden hacer una puerta con contraseña simple:
O que la apertura de una puerta esta vez dependa de una cadena de condiciones:
Y si se las ingenian hasta pueden mezclar las dos y obtener muy buenos resultados.
Bueno este tuto va para el batichico anderson.
Saludos.