class_touchscreenbutton.rst 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/TouchScreenButton.xml.
  6. .. _class_TouchScreenButton:
  7. TouchScreenButton
  8. =================
  9. **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  10. Button for touch screen devices for gameplay use.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. 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.
  15. 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 :ref:`ProjectSettings.input_devices/pointing/emulate_mouse_from_touch<class_ProjectSettings_property_input_devices/pointing/emulate_mouse_from_touch>` in the Project Settings.
  16. You can configure TouchScreenButton to be visible only on touch devices, helping you develop your game both for desktop and mobile devices.
  17. .. rst-class:: classref-reftable-group
  18. Properties
  19. ----------
  20. .. table::
  21. :widths: auto
  22. +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
  23. | :ref:`String<class_String>` | :ref:`action<class_TouchScreenButton_property_action>` | ``""`` |
  24. +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
  25. | :ref:`BitMap<class_BitMap>` | :ref:`bitmask<class_TouchScreenButton_property_bitmask>` | |
  26. +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
  27. | :ref:`bool<class_bool>` | :ref:`passby_press<class_TouchScreenButton_property_passby_press>` | ``false`` |
  28. +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
  29. | :ref:`Shape2D<class_Shape2D>` | :ref:`shape<class_TouchScreenButton_property_shape>` | |
  30. +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
  31. | :ref:`bool<class_bool>` | :ref:`shape_centered<class_TouchScreenButton_property_shape_centered>` | ``true`` |
  32. +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
  33. | :ref:`bool<class_bool>` | :ref:`shape_visible<class_TouchScreenButton_property_shape_visible>` | ``true`` |
  34. +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
  35. | :ref:`Texture2D<class_Texture2D>` | :ref:`texture_normal<class_TouchScreenButton_property_texture_normal>` | |
  36. +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
  37. | :ref:`Texture2D<class_Texture2D>` | :ref:`texture_pressed<class_TouchScreenButton_property_texture_pressed>` | |
  38. +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
  39. | :ref:`VisibilityMode<enum_TouchScreenButton_VisibilityMode>` | :ref:`visibility_mode<class_TouchScreenButton_property_visibility_mode>` | ``0`` |
  40. +--------------------------------------------------------------+--------------------------------------------------------------------------+-----------+
  41. .. rst-class:: classref-reftable-group
  42. Methods
  43. -------
  44. .. table::
  45. :widths: auto
  46. +-------------------------+----------------------------------------------------------------------------+
  47. | :ref:`bool<class_bool>` | :ref:`is_pressed<class_TouchScreenButton_method_is_pressed>`\ (\ ) |const| |
  48. +-------------------------+----------------------------------------------------------------------------+
  49. .. rst-class:: classref-section-separator
  50. ----
  51. .. rst-class:: classref-descriptions-group
  52. Signals
  53. -------
  54. .. _class_TouchScreenButton_signal_pressed:
  55. .. rst-class:: classref-signal
  56. **pressed**\ (\ ) :ref:`🔗<class_TouchScreenButton_signal_pressed>`
  57. Emitted when the button is pressed (down).
  58. .. rst-class:: classref-item-separator
  59. ----
  60. .. _class_TouchScreenButton_signal_released:
  61. .. rst-class:: classref-signal
  62. **released**\ (\ ) :ref:`🔗<class_TouchScreenButton_signal_released>`
  63. Emitted when the button is released (up).
  64. .. rst-class:: classref-section-separator
  65. ----
  66. .. rst-class:: classref-descriptions-group
  67. Enumerations
  68. ------------
  69. .. _enum_TouchScreenButton_VisibilityMode:
  70. .. rst-class:: classref-enumeration
  71. enum **VisibilityMode**: :ref:`🔗<enum_TouchScreenButton_VisibilityMode>`
  72. .. _class_TouchScreenButton_constant_VISIBILITY_ALWAYS:
  73. .. rst-class:: classref-enumeration-constant
  74. :ref:`VisibilityMode<enum_TouchScreenButton_VisibilityMode>` **VISIBILITY_ALWAYS** = ``0``
  75. Always visible.
  76. .. _class_TouchScreenButton_constant_VISIBILITY_TOUCHSCREEN_ONLY:
  77. .. rst-class:: classref-enumeration-constant
  78. :ref:`VisibilityMode<enum_TouchScreenButton_VisibilityMode>` **VISIBILITY_TOUCHSCREEN_ONLY** = ``1``
  79. Visible on touch screens only.
  80. .. rst-class:: classref-section-separator
  81. ----
  82. .. rst-class:: classref-descriptions-group
  83. Property Descriptions
  84. ---------------------
  85. .. _class_TouchScreenButton_property_action:
  86. .. rst-class:: classref-property
  87. :ref:`String<class_String>` **action** = ``""`` :ref:`🔗<class_TouchScreenButton_property_action>`
  88. .. rst-class:: classref-property-setget
  89. - |void| **set_action**\ (\ value\: :ref:`String<class_String>`\ )
  90. - :ref:`String<class_String>` **get_action**\ (\ )
  91. The button's action. Actions can be handled with :ref:`InputEventAction<class_InputEventAction>`.
  92. .. rst-class:: classref-item-separator
  93. ----
  94. .. _class_TouchScreenButton_property_bitmask:
  95. .. rst-class:: classref-property
  96. :ref:`BitMap<class_BitMap>` **bitmask** :ref:`🔗<class_TouchScreenButton_property_bitmask>`
  97. .. rst-class:: classref-property-setget
  98. - |void| **set_bitmask**\ (\ value\: :ref:`BitMap<class_BitMap>`\ )
  99. - :ref:`BitMap<class_BitMap>` **get_bitmask**\ (\ )
  100. The button's bitmask.
  101. .. rst-class:: classref-item-separator
  102. ----
  103. .. _class_TouchScreenButton_property_passby_press:
  104. .. rst-class:: classref-property
  105. :ref:`bool<class_bool>` **passby_press** = ``false`` :ref:`🔗<class_TouchScreenButton_property_passby_press>`
  106. .. rst-class:: classref-property-setget
  107. - |void| **set_passby_press**\ (\ value\: :ref:`bool<class_bool>`\ )
  108. - :ref:`bool<class_bool>` **is_passby_press_enabled**\ (\ )
  109. 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.
  110. \ **Note:** This is a "pass-by" (not "bypass") press mode.
  111. .. rst-class:: classref-item-separator
  112. ----
  113. .. _class_TouchScreenButton_property_shape:
  114. .. rst-class:: classref-property
  115. :ref:`Shape2D<class_Shape2D>` **shape** :ref:`🔗<class_TouchScreenButton_property_shape>`
  116. .. rst-class:: classref-property-setget
  117. - |void| **set_shape**\ (\ value\: :ref:`Shape2D<class_Shape2D>`\ )
  118. - :ref:`Shape2D<class_Shape2D>` **get_shape**\ (\ )
  119. The button's shape.
  120. .. rst-class:: classref-item-separator
  121. ----
  122. .. _class_TouchScreenButton_property_shape_centered:
  123. .. rst-class:: classref-property
  124. :ref:`bool<class_bool>` **shape_centered** = ``true`` :ref:`🔗<class_TouchScreenButton_property_shape_centered>`
  125. .. rst-class:: classref-property-setget
  126. - |void| **set_shape_centered**\ (\ value\: :ref:`bool<class_bool>`\ )
  127. - :ref:`bool<class_bool>` **is_shape_centered**\ (\ )
  128. If ``true``, the button's shape is centered in the provided texture. If no texture is used, this property has no effect.
  129. .. rst-class:: classref-item-separator
  130. ----
  131. .. _class_TouchScreenButton_property_shape_visible:
  132. .. rst-class:: classref-property
  133. :ref:`bool<class_bool>` **shape_visible** = ``true`` :ref:`🔗<class_TouchScreenButton_property_shape_visible>`
  134. .. rst-class:: classref-property-setget
  135. - |void| **set_shape_visible**\ (\ value\: :ref:`bool<class_bool>`\ )
  136. - :ref:`bool<class_bool>` **is_shape_visible**\ (\ )
  137. If ``true``, the button's shape is visible in the editor.
  138. .. rst-class:: classref-item-separator
  139. ----
  140. .. _class_TouchScreenButton_property_texture_normal:
  141. .. rst-class:: classref-property
  142. :ref:`Texture2D<class_Texture2D>` **texture_normal** :ref:`🔗<class_TouchScreenButton_property_texture_normal>`
  143. .. rst-class:: classref-property-setget
  144. - |void| **set_texture_normal**\ (\ value\: :ref:`Texture2D<class_Texture2D>`\ )
  145. - :ref:`Texture2D<class_Texture2D>` **get_texture_normal**\ (\ )
  146. The button's texture for the normal state.
  147. .. rst-class:: classref-item-separator
  148. ----
  149. .. _class_TouchScreenButton_property_texture_pressed:
  150. .. rst-class:: classref-property
  151. :ref:`Texture2D<class_Texture2D>` **texture_pressed** :ref:`🔗<class_TouchScreenButton_property_texture_pressed>`
  152. .. rst-class:: classref-property-setget
  153. - |void| **set_texture_pressed**\ (\ value\: :ref:`Texture2D<class_Texture2D>`\ )
  154. - :ref:`Texture2D<class_Texture2D>` **get_texture_pressed**\ (\ )
  155. The button's texture for the pressed state.
  156. .. rst-class:: classref-item-separator
  157. ----
  158. .. _class_TouchScreenButton_property_visibility_mode:
  159. .. rst-class:: classref-property
  160. :ref:`VisibilityMode<enum_TouchScreenButton_VisibilityMode>` **visibility_mode** = ``0`` :ref:`🔗<class_TouchScreenButton_property_visibility_mode>`
  161. .. rst-class:: classref-property-setget
  162. - |void| **set_visibility_mode**\ (\ value\: :ref:`VisibilityMode<enum_TouchScreenButton_VisibilityMode>`\ )
  163. - :ref:`VisibilityMode<enum_TouchScreenButton_VisibilityMode>` **get_visibility_mode**\ (\ )
  164. The button's visibility mode. See :ref:`VisibilityMode<enum_TouchScreenButton_VisibilityMode>` for possible values.
  165. .. rst-class:: classref-section-separator
  166. ----
  167. .. rst-class:: classref-descriptions-group
  168. Method Descriptions
  169. -------------------
  170. .. _class_TouchScreenButton_method_is_pressed:
  171. .. rst-class:: classref-method
  172. :ref:`bool<class_bool>` **is_pressed**\ (\ ) |const| :ref:`🔗<class_TouchScreenButton_method_is_pressed>`
  173. Returns ``true`` if this button is currently pressed.
  174. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  175. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  176. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  177. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  178. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  179. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  180. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  181. .. |void| replace:: :abbr:`void (No return value.)`