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...
NinePatchRect¶
继承: Control < CanvasItem < Node < Object
显示纹理的控件,会保持角落不变,但平铺边缘和中心。
描述¶
也叫 9 片式面板,NinePatchRect 能够根据较小的纹理,生成任何大小的干净面板。为了做到这一点,它将纹理分割成 3×3 的网格。当你缩放节点时,它会在水平或垂直方向上平铺纹理的侧边,在两个轴上平铺中心,但不会缩放或平铺角落。
属性¶
|
||
|
||
|
||
mouse_filter |
|
|
|
||
|
||
|
||
|
||
|
||
方法¶
get_patch_margin ( Side margin ) const |
|
void |
set_patch_margin ( Side margin, int value ) |
信号¶
texture_changed ( )
当节点的纹理发生变化时触发。
枚举¶
enum AxisStretchMode:
AxisStretchMode AXIS_STRETCH_MODE_STRETCH = 0
在 NinePatchRect 上拉伸中心纹理。这可能会导致纹理失真。
AxisStretchMode AXIS_STRETCH_MODE_TILE = 1
在 NinePatchRect 上重复中心纹理。这不会导致任何可见的失真。 纹理必须是无缝的,这样才能在边缘之间不显示伪影。
AxisStretchMode AXIS_STRETCH_MODE_TILE_FIT = 2
在 NinePatchRect 上重复中心纹理,但也会拉伸纹理以确保每个图块都完整可见。这可能会导致纹理扭曲,但少于 AXIS_STRETCH_MODE_STRETCH。纹理必须是无缝的,这样才能在边缘之间不显示伪影。
属性说明¶
AxisStretchMode axis_stretch_horizontal = 0
void set_h_axis_stretch_mode ( AxisStretchMode value )
AxisStretchMode get_h_axis_stretch_mode ( )
水平拉伸/平铺时使用的拉伸模式。可能的取值见 AxisStretchMode。
AxisStretchMode axis_stretch_vertical = 0
void set_v_axis_stretch_mode ( AxisStretchMode value )
AxisStretchMode get_v_axis_stretch_mode ( )
用于垂直拉伸/平铺的拉伸模式。可能的取值见 AxisStretchMode。
bool draw_center = true
如果为 true
,则绘制面板的中心。否则,只画9-slice的边框。
int patch_margin_bottom = 0
9-切片底行的高度。边距为 16 意味着 9-切片的底角和侧面将有 16 像素的高度。你可以单独设置所有 4 个边距值,来创建有非统一边框的面板。
int patch_margin_left = 0
9-切片左列的宽度。边距为 16 意味着 9-切片的左角和侧面将有 16 像素的宽度。你可以单独设置所有 4 个边距值,来创建有非统一边框的面板。
int patch_margin_right = 0
9-切片右列的宽度。边距为 16 意味着 9-切片的右角和侧面将有 16 像素的宽度。你可以单独设置所有 4 个边距值,来创建有非统一边框的面板。
int patch_margin_top = 0
9-切片顶行的高度。边距为 16 意味着 9-切片的顶角和侧面将有 16 像素的高度。你可以单独设置所有 4 个边距值,来创建有非统一边框的面板。
Rect2 region_rect = Rect2(0, 0, 0, 0)
要取样的纹理的矩形区域。如果你正在使用一个图集,使用这个属性来定义 9-切片应该使用的区域。所有其他属性都是相对于这个属性而言的。如果矩形为空,NinePatchRect 将使用整个纹理。
Texture2D texture
节点的纹理资源。
方法说明¶
int get_patch_margin ( Side margin ) const
返回指定 Side 的边距大小。
void set_patch_margin ( Side margin, int value )
将给定 Side 的边距大小设置为 value
像素。