Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

TextureRect

继承: Control < CanvasItem < Node < Object

显示纹理的控件。

描述

显示纹理的控件,例如显示 GUI 中的图标。可以使用 stretch_mode 属性控制纹理的放置。可以在边界框中进行缩放、平铺、居中。

教程

属性

ExpandMode

expand_mode

0

bool

flip_h

false

bool

flip_v

false

MouseFilter

mouse_filter

1 (overrides Control)

StretchMode

stretch_mode

0

Texture2D

texture


枚举

enum ExpandMode:

ExpandMode EXPAND_KEEP_SIZE = 0

最小尺寸将等于纹理尺寸,即 TextureRect 不能小于纹理。

ExpandMode EXPAND_IGNORE_SIZE = 1

纹理尺寸不会用于计算最小尺寸,所以 TextureRect 可以缩减得比纹理尺寸小。

ExpandMode EXPAND_FIT_WIDTH = 2

会忽略纹理的高度。最小宽度与当前高度一致。可用于横向布局,例如在 HBoxContainer 中。

ExpandMode EXPAND_FIT_WIDTH_PROPORTIONAL = 3

EXPAND_FIT_WIDTH 相同,但保持纹理的长宽比。

ExpandMode EXPAND_FIT_HEIGHT = 4

会忽略纹理的宽度。最小高度与当前宽度一致。可用于纵向布局,例如在 VBoxContainer 中。

ExpandMode EXPAND_FIT_HEIGHT_PROPORTIONAL = 5

EXPAND_FIT_HEIGHT 相同,但保持纹理的长宽比。


enum StretchMode:

StretchMode STRETCH_SCALE = 0

缩放以适应节点的边界矩形。

StretchMode STRETCH_TILE = 1

在节点的边界矩形内平铺。

StretchMode STRETCH_KEEP = 2

纹理保持它的原始尺寸,并保持在边界矩形的左上角。

StretchMode STRETCH_KEEP_CENTERED = 3

纹理保持其原始大小,并在节点的边界矩形中保持居中。

StretchMode STRETCH_KEEP_ASPECT = 4

缩放纹理以适应节点的边界矩形,但保持纹理的长宽比。

StretchMode STRETCH_KEEP_ASPECT_CENTERED = 5

缩放纹理以适应节点的边界矩形,使其居中并保持其长宽比。

StretchMode STRETCH_KEEP_ASPECT_COVERED = 6

缩放纹理,使较短的一边适应边界矩形。另一边则裁剪到节点的界限内。


属性说明

ExpandMode expand_mode = 0

定义如何根据该纹理的大小确定最小大小。有关选项,请参阅 ExpandMode

注意:使用 EXPAND_FIT_WIDTHEXPAND_FIT_WIDTH_PROPORTIONALEXPAND_FIT_HEIGHT、或 EXPAND_FIT_HEIGHT_PROPORTIONAL,可能会导致某些容器的行为不稳定。该功能正在重新评估,将来可能会发生变化。


bool flip_h = false

  • void set_flip_h ( bool value )

  • bool is_flipped_h ( )

如果为 true,纹理将被水平翻转。


bool flip_v = false

  • void set_flip_v ( bool value )

  • bool is_flipped_v ( )

如果为 true,纹理将被垂直翻转。


StretchMode stretch_mode = 0

控件纹理在调整节点边界矩形时的行为。见 StretchMode


Texture2D texture

该节点的 Texture2D 资源。