TextureButton¶
继承: BaseButton < Control < Item < Object
基于纹理的按钮。支持按下、悬停、禁用和聚焦状态。
描述¶
TextureButton与Button具有相同的功能,只是它使用精灵而不是i3D的Theme资源。创建速度更快,但它不像更复杂的Control那样支持本地化。
另请参阅BaseButton,其中包含与此节点关联的常用属性和方法。
注意:建议为“正常”状态(texture_normal)设置纹理。如果未设置texture_normal,TextureButton仍将接收输入事件并可单击,但用户将无法看到它,除非他们使用分配的纹理激活其另一个状态(例如,将鼠标悬停在其上以显示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
缩放纹理,使较短的一边适合边界矩形。另一边剪辑到节点的限制。
属性说明¶
如果true,则纹理水平翻转。
如果true,则纹理垂直翻转。
bool ignore_texture_size = false 🔗
如果true,则不会考虑纹理的大小进行最小大小计算,因此TextureButton可以缩小到纹理大小以上。
StretchMode stretch_mode = 2 🔗
void set_stretch_mode(value: StretchMode)
StretchMode get_stretch_mode()
当您调整节点边界矩形的大小时控制纹理的行为。有关可用选项,请参阅StretchMode常量。
用于点击检测的纯黑白BitMap图像。在蒙版上,白色像素代表按钮的可点击区域。使用它来创建具有弯曲形状的按钮。
禁用节点时要显示的纹理。请参阅BaseButton.disabled。如果未分配,则TextureButton改为显示texture_normal。
当节点具有鼠标或键盘焦点时,纹理到基础纹理上的覆盖。因为texture_focused显示在基础纹理的顶部,所以应该使用部分透明的纹理来确保基础纹理保持可见。表示轮廓或下划线的纹理在这方面效果很好。要禁用焦点视觉效果,请分配任何大小的全透明纹理。请注意,禁用焦点视觉效果会损害键盘/控制器导航可用性,因此出于可访问性原因,不建议这样做。
当鼠标悬停在节点上时显示的纹理。如果未分配,当鼠标悬停在节点上时,TextureButton会显示texture_normal。
默认显示的纹理,当节点为而不是处于禁用、悬停或按下状态时。此纹理仍以聚焦状态显示,顶部绘制texture_focused。
如果节点具有键盘焦点并且用户按下Enter键或用户按下BaseButton.shortcut键,则纹理将在节点上的鼠标上显示。如果未分配,则按下时TextureButton会显示texture_hover。