GraphNode
Inherits: Container < Control < CanvasItem < Node < Object
图形节点GraphNode是一个允许多个图形节点GraphNode之间连接的输入和输出槽容器。槽位可以有不同的、不兼容的类型。
描述
图形节点GraphNode是一个容器。每个图形节点GraphNode可以有几个输入和输出槽,有时被称为端口,允许图形节点GraphNode之间的连接。要在图形节点GraphNode上添加一个槽,需要向它添加任何控件Control派生的子节点。
在为图形节点GraphNode添加至少一个子节点后,将在检查器中自动创建名为 “插槽Slot “的新部分。当 “插槽”被展开时,你会看到带有每个槽索引号的列表。你可以点击它们来进一步展开。
在检查器中,你可以启用(显示)或禁用(隐藏)插槽。默认情况下,所有槽都是禁用的,所以你最初可能看不到图形节点GraphNode上的任何槽。你可以给每个插槽指定一个类型。只有相同类型的插槽才能够相互连接。你还可以给插槽指定颜色。为图形节点GraphNode中的每个GUI元素定义了一个输入和输出槽的元组。输入连接在图形节点GraphNode的左边,输出连接在右边。只有启用的插槽才被算作连接。
属性
| ||
| ||
| ||
| ||
| ||
| ||
|
方法
主题属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
信号
- close_request ( )
当图形节点GraphNode被请求关闭时发出。在点击关闭按钮时发生(见show_close)。
当图形节点GraphNode被拖动时发出。
- offset_changed ( )
当图形节点GraphNode被移动时触发。
- raise_request ( )
当图形节点GraphNode被要求显示在其他节点之上时触发。在GraphNode获得焦点时触发,即鼠标点击进入。
- resize_request ( Vector2 new_minsize )
当图形节点GraphNode被要求调整大小时发出。在拖动调整器手柄时发生(见resizable)。
- slot_updated ( int idx )
当任何图形节点的插槽更新时发出。
枚举
enum Overlay:
OVERLAY_DISABLED = 0 —- 没有显示覆盖层。
OVERLAY_BREAKPOINT = 1 —- 显示在
breakpoint
主题属性中设置的覆盖层。OVERLAY_POSITION = 2 —- 显示在主题坐标
position
属性中设置的叠加层。
属性说明
- bool comment
Default |
|
Setter | set_comment(value) |
Getter | is_comment() |
如果启用true
,则GraphNode就是一个注释节点。
- Vector2 offset
Default |
|
Setter | set_offset(value) |
Getter | get_offset() |
图形节点 GraphNode 的偏移量,与 GraphEdit 的滚动偏移量相关。
注意:由于 GraphEdit 是 Container,因此不能直接使用位置。
- Overlay overlay
Default |
|
Setter | set_overlay(value) |
Getter | get_overlay() |
设置在图形节点GraphNode上方显示的叠加层。参阅Overlay。
- bool resizable
Default |
|
Setter | set_resizable(value) |
Getter | is_resizable() |
如果true
,用户可以调整图形节点GraphNode的大小。
注意:拖动手柄只会发出 resize_request 信号,图形节点GraphNode需要手动调整大小。
- bool selected
Default |
|
Setter | set_selected(value) |
Getter | is_selected() |
如果true
,图形节点GraphNode被选中。
- bool show_close
Default |
|
Setter | set_show_close_button(value) |
Getter | is_close_button_visible() |
如果true
,则关闭按钮将可见。
注意:按下它只会发出close_request信号,需要手动删除图形节点GraphNode。
- String title
Default |
|
Setter | set_title(value) |
Getter | get_title() |
显示在图形节点GraphNode标题栏中的文本。
方法说明
- void clear_all_slots ( )
禁用GraphNode的所有输入和输出槽。
- void clear_slot ( int idx )
禁用索引为idx
的输入和输出槽。
返回输入连接idx
的颜色Color。
- int get_connection_input_count ( )
返回图形节点GraphNode的启用输入槽(连接)的数量。
返回输入连接idx
的位置。
返回输入连接的类型idx
。
返回输出连接idx
的颜色Color。
- int get_connection_output_count ( )
返回图形节点GraphNode的启用输出槽(连接)的数量。
返回输出连接idx
的位置。
返回输出连接的类型idx
。
返回槽idx
的左边(输入)颜色Color。
返回槽idx
的右边(输出)颜色Color。
返回槽idx
的左边(输入)类型。
返回槽idx
的右边(输出)类型。
如果插槽idx
的左侧(输入)被启用,返回true
。
如果插槽idx
的右侧(输出)被启用,返回true
。
- void set_slot ( int idx, bool enable_left, int type_left, Color color_left, bool enable_right, int type_right, Color color_right, Texture custom_left=null, Texture custom_right=null )
设置ID为idx
的插槽的属性。
如果enable_left
/right
,就会出现一个端口,该插槽就可以从这一侧连接。
type_left
/right
是端口的一个任意类型。只有具有相同类型值的端口才能被连接。
color_left
/right
是端口在这一侧的图标的色调。
custom_left
/right
是这一侧的端口的自定义纹理。
注意: 这个方法只设置槽的属性。要创建槽,需要在GraphNode中添加一个Control的派生类。
可以使用set_slot_*
方法之一来设置单个属性。你必须至少启用插槽的一边才能这样做。
将插槽idx
左侧(输入)的颜色Color设置为color_left
。
将插槽idx
的右侧(输出)的颜色Color设置为color_right
。
切换插槽的左侧(输入)idx
。 如果enable_left
为true
,左边将出现一个端口,插槽将能够从这一边连接。
切换插槽的右侧(输出)idx
。如果enable_right
为true
,右侧将出现一个端口,插槽将能够从这一侧连接。
将插槽idx
的左侧(输入)类型设置为type_left
。
将插槽idx
的右(输出)类型设置为type_right
。
Theme Property Descriptions
- Color close_color
Default |
|
应用于关闭按钮图标的颜色调制(modulation)。
- Color resizer_color
Default |
|
应用于调整尺寸大小图标的颜色调制。
- Color title_color
Default |
|
标题文字的颜色。
- int close_offset
Default |
|
关闭按钮的垂直偏移量。
- int port_offset
Default |
|
端口的水平偏移量。
- int separation
Default |
|
端口之间的垂直距离。
- int title_offset
Default |
|
标题文本的垂直偏移量。
- Font title_font
对标题文本应用的字体。
- Texture close
关闭按钮的图标会在启用show_close时可见。
- Texture port
该图标用于表示端口。
- Texture resizer
用于调整大小的图标,在 resizable被启用时可见。
- StyleBox breakpoint
当overlay被设置为OVERLAY_BREAKPOINT时使用的背景。
- StyleBox comment
- StyleBox commentfocus
当comment被启用,且GraphNode
获得焦点时使用的StyleBox。
- StyleBox defaultfocus
- StyleBox defaultframe
- StyleBox frame
GraphNode
的默认背景。
- StyleBox position
当overlay设置为OVERLAY_POSITION时使用的背景。
- StyleBox selectedframe
GraphNode
被选中时使用的背景。