TextureButton

继承: BaseButton < Control < Item < Object

基于纹理的按钮。支持按下、悬停、禁用和聚焦状态。

描述

TextureButtonButton具有相同的功能,只是它使用精灵而不是i3D的Theme资源。创建速度更快,但它不像更复杂的Control那样支持本地化。

另请参阅BaseButton,其中包含与此节点关联的常用属性和方法。

注意:建议为“正常”状态(texture_normal)设置纹理。如果未设置texture_normalTextureButton仍将接收输入事件并可单击,但用户将无法看到它,除非他们使用分配的纹理激活其另一个状态(例如,将鼠标悬停在其上以显示texture_hover)。

属性


枚举

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

缩放纹理,使较短的一边适合边界矩形。另一边剪辑到节点的限制。


属性说明

bool flip_h = false 🔗

  • void set_flip_h(value: bool)

  • bool is_flipped_h()

如果true,则纹理水平翻转。


bool flip_v = false 🔗

  • void set_flip_v(value: bool)

  • bool is_flipped_v()

如果true,则纹理垂直翻转。


bool ignore_texture_size = false 🔗

  • void set_ignore_texture_size(value: bool)

  • bool get_ignore_texture_size()

如果true,则不会考虑纹理的大小进行最小大小计算,因此TextureButton可以缩小到纹理大小以上。


StretchMode stretch_mode = 2 🔗

当您调整节点边界矩形的大小时控制纹理的行为。有关可用选项,请参阅StretchMode常量。


BitMap texture_click_mask 🔗

  • void set_click_mask(value: BitMap)

  • BitMap get_click_mask()

用于点击检测的纯黑白BitMap图像。在蒙版上,白色像素代表按钮的可点击区域。使用它来创建具有弯曲形状的按钮。


Texture2D texture_disabled 🔗

禁用节点时要显示的纹理。请参阅BaseButton.disabled。如果未分配,则TextureButton改为显示texture_normal


Texture2D texture_focused 🔗

当节点具有鼠标或键盘焦点时,纹理到基础纹理的覆盖。因为texture_focused显示在基础纹理的顶部,所以应该使用部分透明的纹理来确保基础纹理保持可见。表示轮廓或下划线的纹理在这方面效果很好。要禁用焦点视觉效果,请分配任何大小的全透明纹理。请注意,禁用焦点视觉效果会损害键盘/控制器导航可用性,因此出于可访问性原因,不建议这样做。


Texture2D texture_hover 🔗

当鼠标悬停在节点上时显示的纹理。如果未分配,当鼠标悬停在节点上时,TextureButton会显示texture_normal


Texture2D texture_normal 🔗

默认显示的纹理,当节点为而不是处于禁用、悬停或按下状态时。此纹理仍以聚焦状态显示,顶部绘制texture_focused


Texture2D texture_pressed 🔗

如果节点具有键盘焦点并且用户按下Enter键或用户按下BaseButton.shortcut键,则纹理将在节点上的鼠标上显示。如果未分配,则按下时TextureButton会显示texture_hover