Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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。