How to coordinate overlapping event streams
When you have streams of events from multiple triggers flowing through your composition, usually those streams of events have to merge somewhere in the composition.
Sometimes the streams of events just naturally overlap, as in the example below (Refreshed at Time port on Fire on Display Refresh and the events fired from the Moved To port on Receive Mouse Moves both travel through the Make Transform and Make Sphere nodes to the Render Scene to Window Node.
). The events fired from the
Other times, you may want to merge the event streams more intentionally. Here’s an example (Select Latest node lets the events from each arrow key through.
) that takes input from key presses on different arrow keys, and displays a message for each one. The
Here’s an example that shows a different way of merging two event streams. This composition (Receive Mouse Moves and Fire Periodically merge at the Hold Value node. Unlike the composition in the previous example, which let both event streams through, this composition lets one event stream through and blocks the other. However, the data left by the blocked event stream (from Receive Mouse Moves) gets picked up and carried along downstream by the other event stream (from Fire Periodically).
) draws two gradients that each follow the mouse cursor a bit differently. The purple (upper) gradient stays with the mouse all the time. The violet (lower) gradient only updates every 1 second. For the lower gradient, the event streams from