Class reference

TouchScreenButton

Inherits Node2D

Button for touch screen devices for gameplay use.

Description

TouchScreenButton allows you to create on-screen buttons for touch devices. It's intended for gameplay use, such as a unit you have to touch to move. Unlike Button, TouchScreenButton supports multitouch out of the box. Several TouchScreenButtons can be pressed at the same time with touch input. This node inherits from Node2D. Unlike with Control nodes, you cannot set anchors on it. If you want to create menus or user interfaces, you may want to use Button nodes instead. To make button nodes react to touch events, you can enable ProjectSettings.input_devices/pointing/emulate_mouse_from_touch in the Project Settings. You can configure TouchScreenButton to be visible only on touch devices, helping you develop your game both for desktop and mobile devices.

Properties

BitMap bitmask

The button's bitmask.

bool passby_press = false

If true, the pressed and released signals are emitted whenever a pressed finger goes in and out of the button, even if the pressure started outside the active area of the button. Note: This is a "pass-by" (not "bypass") press mode.

bool shape_centered = true

If true, the button's shape is centered in the provided texture. If no texture is used, this property has no effect.

bool shape_visible = true

If true, the button's shape is visible in the editor.

Texture2D texture_normal

The button's texture for the normal state.

Texture2D texture_pressed

The button's texture for the pressed state.

int visibility_mode = 0

The button's visibility mode.

Methods

bool is_pressed() const

Returns true if this button is currently pressed.

Signals

pressed()

Emitted when the button is pressed (down).

released()

Emitted when the button is released (up).

Constants

VISIBILITY_ALWAYS = 0

Enum: VisibilityMode

Always visible.

VISIBILITY_TOUCHSCREEN_ONLY = 1

Enum: VisibilityMode

Visible on touch screens only.

Source revision 4f5b14abade2
Connection interrupted. Reload×

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.