Inheritance #

TouchScreenButton
Table of contents

TouchScreenButton #

is_instantiable, Node2D, Node, core, not_builtin_classes

Button for touch screen devices for gameplay use.

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.

Members #

var action: String = ""#

The button's action. Actions can be handled with InputEventAction.

var bitmask: BitMap#

The button's bitmask.

var passby_press: bool = 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.

var shape: Shape2D#

The button's shape.

var shape_centered: bool = true#

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

var shape_visible: bool = true#

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

var texture_normal: Texture2D#

The button's texture for the normal state.

var texture_pressed: Texture2D#

The button's texture for the pressed state.

var visibility_mode = VISIBILITY_ALWAYS#

The button's visibility mode. See VisibilityMode for possible values.

Methods #

const func is_pressed() -> bool#

Returns true if this button is currently pressed.

Annotations #

Constants #

const VISIBILITY_ALWAYS = 0 enum VisibilityMode#

Always visible.

const VISIBILITY_TOUCHSCREEN_ONLY = 1 enum VisibilityMode#

Visible on touch screens only.

Constructors #

Enums #

VisibilityMode#

enum VisibilityMode { VISIBILITY_ALWAYS = 0, VISIBILITY_TOUCHSCREEN_ONLY = 1, }

Operators #

Signals #

signal pressed()#

Emitted when the button is pressed (down).

signal released()#

Emitted when the button is released (up).

Theme Items #

Tutorials #