# On Mouse Scroll

## Overview

![The On Mouse Scroll Node with Object Base and Left Button.](https://1553081948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU990HLHWA30dTfELtDUK%2Fuploads%2Fgit-blob-279a4198baa8407878ec39b73b63a8c557ae115b%2Fonmousescrollnode20241.png?alt=media)

![The On Mouse Scroll Node with Screen Base and Left Button.](https://1553081948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU990HLHWA30dTfELtDUK%2Fuploads%2Fgit-blob-380ceca7cdc625434b7070cf18afd95a3b976b55%2Fonmousescrollnode20241screen.png?alt=media)

**On Mouse Scroll** is an **Event Listener** **Node** used for executing a **Logic Branch** when the user scrolls either over an **Object** or anywhere in the **Screen**.

The **Attributes** allow the user to choose whether the `Event Base` is a specific **Object** or the entire **Screen**.

[**Scope**](https://docs.incari.com/incari-studio/overview#scopes): **Scene**, **Prefab**.

## Attributes

![The On Mouse Scroll Node Attributes.](https://1553081948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU990HLHWA30dTfELtDUK%2Fuploads%2Fgit-blob-08cf2d08116df8dee23631911db3457fb44ed2f3%2Fon-mouse-scroll-attri.png?alt=media)

### Event Base

| Attribute    | Type          | Description                                                                                               |
| ------------ | ------------- | --------------------------------------------------------------------------------------------------------- |
| `Event Base` | **Drop-down** | Whether the **Logic** will be triggered when the cursor enters a particular **Object** or the **Screen**. |

## Inputs

Note: **Input Sockets** only available when `Event Base` is set to `Object`.

| Input           | Type         | Description                                                                        |
| --------------- | ------------ | ---------------------------------------------------------------------------------- |
| `Object ID`     | **ObjectID** | The **Object** in which scrolling over triggers the **Logic Branch**.              |
| `Subscribe` (►) | **Pulse**    | An **Input Pulse** that needs to be triggered to start listening to the **Event**. |

## Outputs

| Output             | Type         | Description                                                                                                                                                                                    |
| ------------------ | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| *Pulse Output* (►) | **Pulse**    | A standard **Output Pulse**, to move onto the next **Node** along the **Logic Branch**, once this **Node** has finished its execution.                                                         |
| `Direction`        | **Vector2**  | **Vector** whose Y-coordinate indicates the direction and speed of the scrolling.                                                                                                              |
| `Object ID`        | **ObjectID** | The **Object ID** of the **Object** where the scroll occurs. If there is no **Object** on that part of the **Screen**, the output is the **Object ID** `00000000-0000-0000-0000-000000000000`. |
| `Event ID`         | **ObjectID** | The ID of the current **Event**. This can be connected to the [**Unsubscribe Node**](https://docs.incari.com/incari-studio/toolbox/events/unsubscribe) to unsubscribe from the **Event**.      |

## See Also

* [**Events**](https://docs.incari.com/incari-studio/toolbox/events)
* [**Mouse**](https://docs.incari.com/incari-studio/toolbox/events/mouse)
