virtualx-engine-docs/_sources/classes/class_touchscreenbutton.rst.txt
2024-10-23 09:41:33 -07:00

308 lines
11 KiB
ReStructuredText

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/3.6/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/3.6/doc/classes/TouchScreenButton.xml.
.. _class_TouchScreenButton:
TouchScreenButton
=================
**Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_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<class_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<class_Node2D>`. Unlike with :ref:`Control<class_Control>` nodes, you cannot set anchors on it. If you want to create menus or user interfaces, you may want to use :ref:`Button<class_Button>` nodes instead. To make button nodes react to touch events, you can enable the Emulate Mouse option 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<class_String>` | :ref:`action<class_TouchScreenButton_property_action>` | ``""`` |
+--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
| :ref:`BitMap<class_BitMap>` | :ref:`bitmask<class_TouchScreenButton_property_bitmask>` | |
+--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
| :ref:`Texture<class_Texture>` | :ref:`normal<class_TouchScreenButton_property_normal>` | |
+--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`passby_press<class_TouchScreenButton_property_passby_press>` | ``false`` |
+--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
| :ref:`Texture<class_Texture>` | :ref:`pressed<class_TouchScreenButton_property_pressed>` | |
+--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
| :ref:`Shape2D<class_Shape2D>` | :ref:`shape<class_TouchScreenButton_property_shape>` | |
+--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`shape_centered<class_TouchScreenButton_property_shape_centered>` | ``true`` |
+--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`shape_visible<class_TouchScreenButton_property_shape_visible>` | ``true`` |
+--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
| :ref:`VisibilityMode<enum_TouchScreenButton_VisibilityMode>` | :ref:`visibility_mode<class_TouchScreenButton_property_visibility_mode>` | ``0`` |
+--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
.. rst-class:: classref-reftable-group
Methods
-------
.. table::
:widths: auto
+-------------------------+----------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_pressed<class_TouchScreenButton_method_is_pressed>` **(** **)** |const| |
+-------------------------+----------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Signals
-------
.. _class_TouchScreenButton_signal_pressed:
.. rst-class:: classref-signal
**pressed** **(** **)**
Emitted when the button is pressed (down).
.. rst-class:: classref-item-separator
----
.. _class_TouchScreenButton_signal_released:
.. rst-class:: classref-signal
**released** **(** **)**
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**:
.. _class_TouchScreenButton_constant_VISIBILITY_ALWAYS:
.. rst-class:: classref-enumeration-constant
:ref:`VisibilityMode<enum_TouchScreenButton_VisibilityMode>` **VISIBILITY_ALWAYS** = ``0``
Always visible.
.. _class_TouchScreenButton_constant_VISIBILITY_TOUCHSCREEN_ONLY:
.. rst-class:: classref-enumeration-constant
:ref:`VisibilityMode<enum_TouchScreenButton_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<class_String>` **action** = ``""``
.. rst-class:: classref-property-setget
- void **set_action** **(** :ref:`String<class_String>` value **)**
- :ref:`String<class_String>` **get_action** **(** **)**
The button's action. Actions can be handled with :ref:`InputEventAction<class_InputEventAction>`.
.. rst-class:: classref-item-separator
----
.. _class_TouchScreenButton_property_bitmask:
.. rst-class:: classref-property
:ref:`BitMap<class_BitMap>` **bitmask**
.. rst-class:: classref-property-setget
- void **set_bitmask** **(** :ref:`BitMap<class_BitMap>` value **)**
- :ref:`BitMap<class_BitMap>` **get_bitmask** **(** **)**
The button's bitmask.
.. rst-class:: classref-item-separator
----
.. _class_TouchScreenButton_property_normal:
.. rst-class:: classref-property
:ref:`Texture<class_Texture>` **normal**
.. rst-class:: classref-property-setget
- void **set_texture** **(** :ref:`Texture<class_Texture>` value **)**
- :ref:`Texture<class_Texture>` **get_texture** **(** **)**
The button's texture for the normal state.
.. rst-class:: classref-item-separator
----
.. _class_TouchScreenButton_property_passby_press:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **passby_press** = ``false``
.. rst-class:: classref-property-setget
- void **set_passby_press** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_bool>` **is_passby_press_enabled** **(** **)**
If ``true``, the :ref:`pressed<class_TouchScreenButton_signal_pressed>` and :ref:`released<class_TouchScreenButton_signal_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_pressed:
.. rst-class:: classref-property
:ref:`Texture<class_Texture>` **pressed**
.. rst-class:: classref-property-setget
- void **set_texture_pressed** **(** :ref:`Texture<class_Texture>` value **)**
- :ref:`Texture<class_Texture>` **get_texture_pressed** **(** **)**
The button's texture for the pressed state.
.. rst-class:: classref-item-separator
----
.. _class_TouchScreenButton_property_shape:
.. rst-class:: classref-property
:ref:`Shape2D<class_Shape2D>` **shape**
.. rst-class:: classref-property-setget
- void **set_shape** **(** :ref:`Shape2D<class_Shape2D>` value **)**
- :ref:`Shape2D<class_Shape2D>` **get_shape** **(** **)**
The button's shape.
.. rst-class:: classref-item-separator
----
.. _class_TouchScreenButton_property_shape_centered:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **shape_centered** = ``true``
.. rst-class:: classref-property-setget
- void **set_shape_centered** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_bool>` **shape_visible** = ``true``
.. rst-class:: classref-property-setget
- void **set_shape_visible** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_bool>` **is_shape_visible** **(** **)**
If ``true``, the button's shape is visible.
.. rst-class:: classref-item-separator
----
.. _class_TouchScreenButton_property_visibility_mode:
.. rst-class:: classref-property
:ref:`VisibilityMode<enum_TouchScreenButton_VisibilityMode>` **visibility_mode** = ``0``
.. rst-class:: classref-property-setget
- void **set_visibility_mode** **(** :ref:`VisibilityMode<enum_TouchScreenButton_VisibilityMode>` value **)**
- :ref:`VisibilityMode<enum_TouchScreenButton_VisibilityMode>` **get_visibility_mode** **(** **)**
The button's visibility mode. See :ref:`VisibilityMode<enum_TouchScreenButton_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<class_bool>` **is_pressed** **(** **)** |const|
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.)`
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`