class_touchscreenbutton.rst 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  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 the Emulate Mouse option 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** **(** **)**
  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** **(** **)**
  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**:
  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** = ``""``
  88. .. rst-class:: classref-property-setget
  89. - void **set_action** **(** :ref:`String<class_String>` value **)**
  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**
  97. .. rst-class:: classref-property-setget
  98. - void **set_bitmask** **(** :ref:`BitMap<class_BitMap>` value **)**
  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``
  106. .. rst-class:: classref-property-setget
  107. - void **set_passby_press** **(** :ref:`bool<class_bool>` value **)**
  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**
  116. .. rst-class:: classref-property-setget
  117. - void **set_shape** **(** :ref:`Shape2D<class_Shape2D>` value **)**
  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``
  125. .. rst-class:: classref-property-setget
  126. - void **set_shape_centered** **(** :ref:`bool<class_bool>` value **)**
  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``
  134. .. rst-class:: classref-property-setget
  135. - void **set_shape_visible** **(** :ref:`bool<class_bool>` value **)**
  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**
  143. .. rst-class:: classref-property-setget
  144. - void **set_texture_normal** **(** :ref:`Texture2D<class_Texture2D>` value **)**
  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**
  152. .. rst-class:: classref-property-setget
  153. - void **set_texture_pressed** **(** :ref:`Texture2D<class_Texture2D>` value **)**
  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``
  161. .. rst-class:: classref-property-setget
  162. - void **set_visibility_mode** **(** :ref:`VisibilityMode<enum_TouchScreenButton_VisibilityMode>` value **)**
  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|
  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.)`