TextureButton
继承: BaseButton < Control < CanvasItem < Node < Object
基于纹理的按钮。支持按下、悬停、停用和焦点状态。
描述
TextureButton 的功能与 Button 相同,只是它使用精灵而不是 Godot 的 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。
鼠标在节点上按下时显示的纹理,要求节点持有键盘焦点且玩家按下了回车键或 BaseButton.shortcut 键。未赋值时 TextureButton 处于按下状态会显示 texture_hover。