by Jon (Updated on 2015-10-14)
Mobile apps are driven by touching, tapping and other gestures. Stencyl exposes all of these features through a combination of events and blocks.
Single-touch is handled using the mouse blocks. In other words, treat touch just like using the mouse.

| Mouse Action | Touch Action |
|---|---|
| Mouse is Down | Touching Screen |
| Mouse is Down on Actor | Touching Actor |
| X of Mouse | X of Touch |
| Y of Mouse | Y of Touch |
If you prefer to use Events, the analogous Mouse Events do the same thing.

For many games, single-touch is sufficient, but for some games, it’s necessary to support multi-touch. Such games require tracking several fingers on screen moving independently. One very common example of this use case is a game that displays multiple on-screen buttons, such as a platformer.
Stencyl supports multi-touch exclusively through an event.

This event is triggered any time a touch begins, is dragged around or ends. Using the ID of touch block, which maintains the same value throughout the lifecycle of a touch, you can refer to that touch and act accordingly.
Additionally, you'll find that the ID of touch block also lets you get the X/Y positions of that particular touch by selecting those options from its dropdown.

You must enable multi-touch in Settings > Mobile > User Input to receive multi-touch events. Moreover, when multi-touch is enabled, avoid using single-touch input blocks, for they will act in unexpected ways.
In other words, when multi-touch is enabled, count on using multi-touch blocks all the way through.
In this example, the player can move some objects independently of each other using multi-touch.
Tip: Are you just looking to implement virtual, on-screen buttons? Grab the On Screen Button behavior from StencylForge, which uses multi-touch in its implementation.
Swiping is a gesture in which the player presses a finger on screen and drags it in one direction. It is commonly used to scroll through menus or trigger certain actions.

In Stencyl, the preferred way to detect a swipe is through a Swipe event, accessed via Add Event > Input > Swipe.

If you prefer to use a block to check for this instead, you can find one under User Input > Mobile-Only.
