:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/TouchScreenButton.xml. .. _class_TouchScreenButton: TouchScreenButton ================= **Inherits:** :ref:`Node2D` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` Button for touch screen devices for gameplay use. .. rst-class:: classref-introduction-group 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 :ref:`Button`, TouchScreenButton supports multitouch out of the box. Several TouchScreenButtons can be pressed at the same time with touch input. This node inherits from :ref:`Node2D`. Unlike with :ref:`Control` nodes, you cannot set anchors on it. If you want to create menus or user interfaces, you may want to use :ref:`Button` nodes instead. To make button nodes react to touch events, you can enable :ref:`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. .. rst-class:: classref-reftable-group Properties ---------- .. table:: :widths: auto +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+ | :ref:`String` | :ref:`action` | ``""`` | +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+ | :ref:`BitMap` | :ref:`bitmask` | | +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+ | :ref:`bool` | :ref:`passby_press` | ``false`` | +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+ | :ref:`Shape2D` | :ref:`shape` | | +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+ | :ref:`bool` | :ref:`shape_centered` | ``true`` | +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+ | :ref:`bool` | :ref:`shape_visible` | ``true`` | +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+ | :ref:`Texture2D` | :ref:`texture_normal` | | +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+ | :ref:`Texture2D` | :ref:`texture_pressed` | | +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+ | :ref:`VisibilityMode` | :ref:`visibility_mode` | ``0`` | +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+ .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +-------------------------+----------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_pressed`\ (\ ) |const| | +-------------------------+----------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Signals ------- .. _class_TouchScreenButton_signal_pressed: .. rst-class:: classref-signal **pressed**\ (\ ) :ref:`🔗` Emitted when the button is pressed (down). .. rst-class:: classref-item-separator ---- .. _class_TouchScreenButton_signal_released: .. rst-class:: classref-signal **released**\ (\ ) :ref:`🔗` Emitted when the button is released (up). .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Enumerations ------------ .. _enum_TouchScreenButton_VisibilityMode: .. rst-class:: classref-enumeration enum **VisibilityMode**: :ref:`🔗` .. _class_TouchScreenButton_constant_VISIBILITY_ALWAYS: .. rst-class:: classref-enumeration-constant :ref:`VisibilityMode` **VISIBILITY_ALWAYS** = ``0`` Always visible. .. _class_TouchScreenButton_constant_VISIBILITY_TOUCHSCREEN_ONLY: .. rst-class:: classref-enumeration-constant :ref:`VisibilityMode` **VISIBILITY_TOUCHSCREEN_ONLY** = ``1`` Visible on touch screens only. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Property Descriptions --------------------- .. _class_TouchScreenButton_property_action: .. rst-class:: classref-property :ref:`String` **action** = ``""`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_action**\ (\ value\: :ref:`String`\ ) - :ref:`String` **get_action**\ (\ ) The button's action. Actions can be handled with :ref:`InputEventAction`. .. rst-class:: classref-item-separator ---- .. _class_TouchScreenButton_property_bitmask: .. rst-class:: classref-property :ref:`BitMap` **bitmask** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_bitmask**\ (\ value\: :ref:`BitMap`\ ) - :ref:`BitMap` **get_bitmask**\ (\ ) The button's bitmask. .. rst-class:: classref-item-separator ---- .. _class_TouchScreenButton_property_passby_press: .. rst-class:: classref-property :ref:`bool` **passby_press** = ``false`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_passby_press**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_passby_press_enabled**\ (\ ) If ``true``, the :ref:`pressed` and :ref:`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. .. rst-class:: classref-item-separator ---- .. _class_TouchScreenButton_property_shape: .. rst-class:: classref-property :ref:`Shape2D` **shape** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_shape**\ (\ value\: :ref:`Shape2D`\ ) - :ref:`Shape2D` **get_shape**\ (\ ) The button's shape. .. rst-class:: classref-item-separator ---- .. _class_TouchScreenButton_property_shape_centered: .. rst-class:: classref-property :ref:`bool` **shape_centered** = ``true`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_shape_centered**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_shape_centered**\ (\ ) If ``true``, the button's shape is centered in the provided texture. If no texture is used, this property has no effect. .. rst-class:: classref-item-separator ---- .. _class_TouchScreenButton_property_shape_visible: .. rst-class:: classref-property :ref:`bool` **shape_visible** = ``true`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_shape_visible**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_shape_visible**\ (\ ) If ``true``, the button's shape is visible in the editor. .. rst-class:: classref-item-separator ---- .. _class_TouchScreenButton_property_texture_normal: .. rst-class:: classref-property :ref:`Texture2D` **texture_normal** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_texture_normal**\ (\ value\: :ref:`Texture2D`\ ) - :ref:`Texture2D` **get_texture_normal**\ (\ ) The button's texture for the normal state. .. rst-class:: classref-item-separator ---- .. _class_TouchScreenButton_property_texture_pressed: .. rst-class:: classref-property :ref:`Texture2D` **texture_pressed** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_texture_pressed**\ (\ value\: :ref:`Texture2D`\ ) - :ref:`Texture2D` **get_texture_pressed**\ (\ ) The button's texture for the pressed state. .. rst-class:: classref-item-separator ---- .. _class_TouchScreenButton_property_visibility_mode: .. rst-class:: classref-property :ref:`VisibilityMode` **visibility_mode** = ``0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_visibility_mode**\ (\ value\: :ref:`VisibilityMode`\ ) - :ref:`VisibilityMode` **get_visibility_mode**\ (\ ) The button's visibility mode. See :ref:`VisibilityMode` for possible values. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_TouchScreenButton_method_is_pressed: .. rst-class:: classref-method :ref:`bool` **is_pressed**\ (\ ) |const| :ref:`🔗` Returns ``true`` if this button is currently pressed. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` .. |void| replace:: :abbr:`void (No return value.)`