简体中文
English 简体中文 繁體中文
Methodox 首页

图上下文

不同的图类型是为不同的场景设计的。

在 Divooka 中,共有八种图类型(也称为图种类),分属三种上下文和一个用于定义类型的类别:

  1. 数据流上下文:Flows、Function、Components(原名 System)
  2. 过程式上下文:Events、Routine
  3. 声明式上下文:StateMachine、Constructs
  4. 类型定义:Type(原名 Struct)
图类型 上下文 说明 Divooka Explore Divooka Compute
Flows 数据流 自由形式的画布:值沿着连线传递,一次运行会执行被标记为活动的节点及其依赖的一切。 创建、编辑、运行 创建、编辑、运行
Function 数据流 可被其他图像节点一样调用的图,带有一个 Input 节点和一个 Output 节点。 创建、编辑、运行 创建、编辑、运行
Components 数据流 以数据流定义的对象:每个没有被其他节点接收的输出都会成为该对象的一个字段,而创建一个对象就是运行这个图。 打开和运行 创建、编辑、运行
Events 过程式 由应用程序框架调用的回调,例如 Start 和每一帧的更新。 创建、编辑、运行 创建、编辑、运行
Routine 过程式 沿执行连线依次执行的步骤,包含循环和分支。 创建、编辑、运行 创建、编辑、运行
StateMachine 声明式 由命名的转换连接起来的状态,每个转换都由一个条件守护。 打开和运行 创建、编辑、运行
Constructs 声明式 由构造函数和工厂组装而成的对象树,没有副作用。 打开和运行 创建、编辑、运行
Type 类型定义 你自己的数据结构,包含数据成员,并以 Function 或 Routine 图作为其方法;它本身不会被运行。 创建、编辑 创建、编辑

Divooka Explore 可以创建 Flows、Function、Events、Routine 和 Type 图;它可以打开并运行包含 Components、StateMachine 或 Constructs 图的文档,但不提供创建这些图的选项。Divooka Compute 提供全部八种图。编辑器会在画布上方显示图的种类及其所属类别,例如 Flows · dataflow。请参阅 Divooka Explore 中的图和 Divooka Compute 中的图指南。

较旧的文档和页面可能使用以前的名称:System 即 Components,Struct 即 Type(Type 仍然可以是 Class、Struct 或 Record,在其属性中选择)。

数据流上下文与过程式上下文

比较

了解更多:

在过程式上下文中混用数据流上下文

在过程式上下文中混用数据流节点时,必须非常小心图的状态,如下例所示:

混用

Bigger Than 计算将被求值两次:一次由 Repeat 节点触发,另一次由 Branch 节点触发。这并不是标准化的行为,通常会产生“不确定”的结果。

声明式上下文

在声明式图中,节点描述某个事物,而不是逐步计算它。StateMachine 用命名的转换连接各个状态,每个转换都由一个条件守护:每个状态的行为本身就是一个图,一次运行会进入第一个状态、运行它,然后选取第一个条件成立的转换。Constructs 图是由构造函数和工厂组装而成的对象树,没有副作用;它是供其他图读取的描述。了解更多:声明式上下文。

模块

模块定义成员数据和成员行为。在 Divooka 中,每个图(无论是哪种类型/上下文)实际上都是一个模块。

类型

专用的 Type 图可以让你定义自己的数据类型:它的数据成员,以及作为其方法的 Function 或 Routine 图。其他图通过它的 Make 节点创建它的实例,并读取和设置它的成员。Type 本身不会被运行;逻辑请使用 Function 和 Routine 图。