Files
godot-docs-l10n/classes/zh_Hans/class_styleboxtexture.rst

467 lines
22 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_StyleBoxTexture:
StyleBoxTexture
===============
**继承:** :ref:`StyleBox<class_StyleBox>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
基于纹理的九宫格 :ref:`StyleBox<class_StyleBox>`\ 。
.. rst-class:: classref-introduction-group
描述
----
基于纹理的九宫格 :ref:`StyleBox<class_StyleBox>`\ ,类似于 :ref:`NinePatchRect<class_NinePatchRect>`\ 。这种样式盒对纹理执行 3×3 缩放,只有中心单元格会被完全拉伸。这样就能够为不同大小的样式盒设计带边框的样式。
.. rst-class:: classref-reftable-group
属性
----
.. table::
:widths: auto
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
| :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` | :ref:`axis_stretch_horizontal<class_StyleBoxTexture_property_axis_stretch_horizontal>` | ``0`` |
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
| :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` | :ref:`axis_stretch_vertical<class_StyleBoxTexture_property_axis_stretch_vertical>` | ``0`` |
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
| :ref:`bool<class_bool>` | :ref:`draw_center<class_StyleBoxTexture_property_draw_center>` | ``true`` |
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
| :ref:`float<class_float>` | :ref:`expand_margin_bottom<class_StyleBoxTexture_property_expand_margin_bottom>` | ``0.0`` |
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
| :ref:`float<class_float>` | :ref:`expand_margin_left<class_StyleBoxTexture_property_expand_margin_left>` | ``0.0`` |
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
| :ref:`float<class_float>` | :ref:`expand_margin_right<class_StyleBoxTexture_property_expand_margin_right>` | ``0.0`` |
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
| :ref:`float<class_float>` | :ref:`expand_margin_top<class_StyleBoxTexture_property_expand_margin_top>` | ``0.0`` |
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
| :ref:`Color<class_Color>` | :ref:`modulate_color<class_StyleBoxTexture_property_modulate_color>` | ``Color(1, 1, 1, 1)`` |
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
| :ref:`Rect2<class_Rect2>` | :ref:`region_rect<class_StyleBoxTexture_property_region_rect>` | ``Rect2(0, 0, 0, 0)`` |
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`texture<class_StyleBoxTexture_property_texture>` | |
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
| :ref:`float<class_float>` | :ref:`texture_margin_bottom<class_StyleBoxTexture_property_texture_margin_bottom>` | ``0.0`` |
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
| :ref:`float<class_float>` | :ref:`texture_margin_left<class_StyleBoxTexture_property_texture_margin_left>` | ``0.0`` |
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
| :ref:`float<class_float>` | :ref:`texture_margin_right<class_StyleBoxTexture_property_texture_margin_right>` | ``0.0`` |
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
| :ref:`float<class_float>` | :ref:`texture_margin_top<class_StyleBoxTexture_property_texture_margin_top>` | ``0.0`` |
+--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
.. rst-class:: classref-reftable-group
方法
----
.. table::
:widths: auto
+---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_expand_margin<class_StyleBoxTexture_method_get_expand_margin>`\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const| |
+---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_texture_margin<class_StyleBoxTexture_method_get_texture_margin>`\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const| |
+---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_expand_margin<class_StyleBoxTexture_method_set_expand_margin>`\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, size\: :ref:`float<class_float>`\ ) |
+---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_expand_margin_all<class_StyleBoxTexture_method_set_expand_margin_all>`\ (\ size\: :ref:`float<class_float>`\ ) |
+---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_texture_margin<class_StyleBoxTexture_method_set_texture_margin>`\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, size\: :ref:`float<class_float>`\ ) |
+---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_texture_margin_all<class_StyleBoxTexture_method_set_texture_margin_all>`\ (\ size\: :ref:`float<class_float>`\ ) |
+---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
枚举
----
.. _enum_StyleBoxTexture_AxisStretchMode:
.. rst-class:: classref-enumeration
enum **AxisStretchMode**: :ref:`🔗<enum_StyleBoxTexture_AxisStretchMode>`
.. _class_StyleBoxTexture_constant_AXIS_STRETCH_MODE_STRETCH:
.. rst-class:: classref-enumeration-constant
:ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **AXIS_STRETCH_MODE_STRETCH** = ``0``
拉伸样式盒的纹理。这会导致可见的失真,除非纹理大小与样式盒的大小完美匹配。
.. _class_StyleBoxTexture_constant_AXIS_STRETCH_MODE_TILE:
.. rst-class:: classref-enumeration-constant
:ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **AXIS_STRETCH_MODE_TILE** = ``1``
根据九宫格系统,重复样式盒的纹理,以匹配样式盒的大小。
.. _class_StyleBoxTexture_constant_AXIS_STRETCH_MODE_TILE_FIT:
.. rst-class:: classref-enumeration-constant
:ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **AXIS_STRETCH_MODE_TILE_FIT** = ``2``
根据九宫格系统,重复样式盒的纹理,以匹配样式盒的大小。与 :ref:`AXIS_STRETCH_MODE_TILE<class_StyleBoxTexture_constant_AXIS_STRETCH_MODE_TILE>` 不同,可能会稍微拉伸纹理以使九宫格纹理平铺无缝。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
属性说明
--------
.. _class_StyleBoxTexture_property_axis_stretch_horizontal:
.. rst-class:: classref-property
:ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **axis_stretch_horizontal** = ``0`` :ref:`🔗<class_StyleBoxTexture_property_axis_stretch_horizontal>`
.. rst-class:: classref-property-setget
- |void| **set_h_axis_stretch_mode**\ (\ value\: :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>`\ )
- :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **get_h_axis_stretch_mode**\ (\ )
控制如何水平拉伸或平铺样式盒的纹理。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_property_axis_stretch_vertical:
.. rst-class:: classref-property
:ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **axis_stretch_vertical** = ``0`` :ref:`🔗<class_StyleBoxTexture_property_axis_stretch_vertical>`
.. rst-class:: classref-property-setget
- |void| **set_v_axis_stretch_mode**\ (\ value\: :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>`\ )
- :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **get_v_axis_stretch_mode**\ (\ )
控制如何垂直拉伸或平铺样式盒的纹理。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_property_draw_center:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **draw_center** = ``true`` :ref:`🔗<class_StyleBoxTexture_property_draw_center>`
.. rst-class:: classref-property-setget
- |void| **set_draw_center**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_draw_center_enabled**\ (\ )
如果为 ``true``\ ,将绘制九宫格纹理的中心图块。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_property_expand_margin_bottom:
.. rst-class:: classref-property
:ref:`float<class_float>` **expand_margin_bottom** = ``0.0`` :ref:`🔗<class_StyleBoxTexture_property_expand_margin_bottom>`
.. rst-class:: classref-property-setget
- |void| **set_expand_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, size\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_expand_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const|
绘制时扩展此样式盒的下边距,使其绘制得比请求的大。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_property_expand_margin_left:
.. rst-class:: classref-property
:ref:`float<class_float>` **expand_margin_left** = ``0.0`` :ref:`🔗<class_StyleBoxTexture_property_expand_margin_left>`
.. rst-class:: classref-property-setget
- |void| **set_expand_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, size\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_expand_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const|
绘制时扩展此样式盒的左边距,使其绘制得比请求的大。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_property_expand_margin_right:
.. rst-class:: classref-property
:ref:`float<class_float>` **expand_margin_right** = ``0.0`` :ref:`🔗<class_StyleBoxTexture_property_expand_margin_right>`
.. rst-class:: classref-property-setget
- |void| **set_expand_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, size\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_expand_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const|
绘制时扩展此样式盒的右边距,使其绘制得比请求的大。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_property_expand_margin_top:
.. rst-class:: classref-property
:ref:`float<class_float>` **expand_margin_top** = ``0.0`` :ref:`🔗<class_StyleBoxTexture_property_expand_margin_top>`
.. rst-class:: classref-property-setget
- |void| **set_expand_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, size\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_expand_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const|
绘制时扩展此样式盒的上边距,使其绘制得比请求的大。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_property_modulate_color:
.. rst-class:: classref-property
:ref:`Color<class_Color>` **modulate_color** = ``Color(1, 1, 1, 1)`` :ref:`🔗<class_StyleBoxTexture_property_modulate_color>`
.. rst-class:: classref-property-setget
- |void| **set_modulate**\ (\ value\: :ref:`Color<class_Color>`\ )
- :ref:`Color<class_Color>` **get_modulate**\ (\ )
绘制此样式盒时用于调制纹理的颜色。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_property_region_rect:
.. rst-class:: classref-property
:ref:`Rect2<class_Rect2>` **region_rect** = ``Rect2(0, 0, 0, 0)`` :ref:`🔗<class_StyleBoxTexture_property_region_rect>`
.. rst-class:: classref-property-setget
- |void| **set_region_rect**\ (\ value\: :ref:`Rect2<class_Rect2>`\ )
- :ref:`Rect2<class_Rect2>` **get_region_rect**\ (\ )
:ref:`texture<class_StyleBoxTexture_property_texture>` 中要使用的区域。
等价于首先将 :ref:`texture<class_StyleBoxTexture_property_texture>` 包裹在具有相同区域的 :ref:`AtlasTexture<class_AtlasTexture>` 中。
如果为空(\ ``Rect2(0, 0, 0, 0)``\ ),则将使用整个 :ref:`texture<class_StyleBoxTexture_property_texture>`\ 。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_property_texture:
.. rst-class:: classref-property
:ref:`Texture2D<class_Texture2D>` **texture** :ref:`🔗<class_StyleBoxTexture_property_texture>`
.. rst-class:: classref-property-setget
- |void| **set_texture**\ (\ value\: :ref:`Texture2D<class_Texture2D>`\ )
- :ref:`Texture2D<class_Texture2D>` **get_texture**\ (\ )
绘制此样式盒时所使用的纹理。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_property_texture_margin_bottom:
.. rst-class:: classref-property
:ref:`float<class_float>` **texture_margin_bottom** = ``0.0`` :ref:`🔗<class_StyleBoxTexture_property_texture_margin_bottom>`
.. rst-class:: classref-property-setget
- |void| **set_texture_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, size\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_texture_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const|
增加 3×3 StyleBox 的底边距。
更高的值意味着更多的源纹理被认为是 3×3 box的底边的一部分。
如果 :ref:`StyleBox.content_margin_bottom<class_StyleBox_property_content_margin_bottom>` 为负值,这个值也是作为后备值使用。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_property_texture_margin_left:
.. rst-class:: classref-property
:ref:`float<class_float>` **texture_margin_left** = ``0.0`` :ref:`🔗<class_StyleBoxTexture_property_texture_margin_left>`
.. rst-class:: classref-property-setget
- |void| **set_texture_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, size\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_texture_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const|
增加 3×3 StyleBox 的左边距。
较高的值意味着更多的源纹理被认为是 3×3 box左边框的一部分。
如果 :ref:`StyleBox.content_margin_left<class_StyleBox_property_content_margin_left>` 为负值,这个值也是作为后备值使用。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_property_texture_margin_right:
.. rst-class:: classref-property
:ref:`float<class_float>` **texture_margin_right** = ``0.0`` :ref:`🔗<class_StyleBoxTexture_property_texture_margin_right>`
.. rst-class:: classref-property-setget
- |void| **set_texture_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, size\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_texture_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const|
增加 3×3 StyleBox 的右边距。
较高的值意味着更多的源纹理被认为是 3×3 box右边框的一部分。
如果 :ref:`StyleBox.content_margin_right<class_StyleBox_property_content_margin_right>` 为负值,这个值也是作为后备值使用。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_property_texture_margin_top:
.. rst-class:: classref-property
:ref:`float<class_float>` **texture_margin_top** = ``0.0`` :ref:`🔗<class_StyleBoxTexture_property_texture_margin_top>`
.. rst-class:: classref-property-setget
- |void| **set_texture_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, size\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_texture_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const|
增加 3×3 StyleBox 的上边距。
较高的值意味着更多的源纹理被认为是 3×3 box上边框的一部分。
如果 :ref:`StyleBox.content_margin_top<class_StyleBox_property_content_margin_top>` 为负值,这个值也是作为后备值使用。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
方法说明
--------
.. _class_StyleBoxTexture_method_get_expand_margin:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_expand_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const| :ref:`🔗<class_StyleBoxTexture_method_get_expand_margin>`
返回指定边 :ref:`Side<enum_@GlobalScope_Side>` 的扩展边距大小。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_method_get_texture_margin:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_texture_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const| :ref:`🔗<class_StyleBoxTexture_method_get_texture_margin>`
返回指定边 :ref:`Side<enum_@GlobalScope_Side>` 的边距大小。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_method_set_expand_margin:
.. rst-class:: classref-method
|void| **set_expand_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, size\: :ref:`float<class_float>`\ ) :ref:`🔗<class_StyleBoxTexture_method_set_expand_margin>`
将指定边 :ref:`Side<enum_@GlobalScope_Side>` 的扩展边距设置为 ``size`` 像素。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_method_set_expand_margin_all:
.. rst-class:: classref-method
|void| **set_expand_margin_all**\ (\ size\: :ref:`float<class_float>`\ ) :ref:`🔗<class_StyleBoxTexture_method_set_expand_margin_all>`
将所有边的扩展边距都设置为 ``size`` 像素。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_method_set_texture_margin:
.. rst-class:: classref-method
|void| **set_texture_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, size\: :ref:`float<class_float>`\ ) :ref:`🔗<class_StyleBoxTexture_method_set_texture_margin>`
将指定边 :ref:`Side<enum_@GlobalScope_Side>` 的边距设置为 ``size`` 像素。
.. rst-class:: classref-item-separator
----
.. _class_StyleBoxTexture_method_set_texture_margin_all:
.. rst-class:: classref-method
|void| **set_texture_margin_all**\ (\ size\: :ref:`float<class_float>`\ ) :ref:`🔗<class_StyleBoxTexture_method_set_texture_margin_all>`
将所有边的边距都设置为 ``size`` 像素。
.. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)`
.. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)`
.. |constructor| replace:: :abbr:`constructor (本方法用于构造某个类型。)`
.. |static| replace:: :abbr:`static (调用本方法无需实例,可直接使用类名进行调用。)`
.. |operator| replace:: :abbr:`operator (本方法描述的是使用本类型作为左操作数的有效运算符。)`
.. |bitfield| replace:: :abbr:`BitField (这个值是由下列位标志构成位掩码的整数。)`
.. |void| replace:: :abbr:`void (无返回值。)`