NarraLeaf

节点

内置节点目录,每个创建浮窗分类一页,逐个列出节点签名

内置目录共 655 个节点,分布在 28 个分类中。分类就是你在创建浮窗里导航时看到的分组,因此这些页面的组织方式与编辑器一致。Studio 内置插件添加的节点单独列在 内置插件 下

如何阅读一个节点

每个节点写成这样:

Delay

blueprint.flow.delay · Latent

标题下第一行是节点的 type id——存进文档的值,也是你从插件注册时要用的值。其后是该节点为真的标记:

标记含义
Pure无副作用,没有执行引脚。有东西读取它的输出时才计算,也是能进入 Blueprint Value 的条件之一
Latent会挂起执行直到完成。Blueprint Value(Call Fn 除外)、内联故事值和分支条件都不提供它

打开设置 → 常规 → 开发者选项后,创建浮窗还会在每个节点那一行的右侧显示它的 type id

Pure 本身并不意味着该节点能在 Blueprint Value 里使用。那是另一条更窄的规则:节点必须同时是纯节点、非 latent,且属于允许的分类(Data、List、Math、Time、Text、Slider、Displayable、Element、Game、Localization),外加一小串特例(Init 与 On Flush 事件头、除 Skip Delay 以外非 latent 的 Flow、本地变量读写、Memo、Call Fn、注释、Return Value、Get Saved Var,以及五个 Page 读取节点:Get Page Props、Get Page Param 和三个 Is Surface …)。scope 限定为 widgetMain 的 Self 节点无论标记如何都被排除;在 Blueprint Value 里要触及某个控件,走 Element 字面量加 Element 分类的读取节点

然后是引脚表:

引脚方向类型说明
inin · exec—
durationin · datafloat秒。可在节点卡上直接填字面量
completedout · exec—等待结束后触发
tokenout · dataTimer接给 Skip Delay 可提前结束等待

执行引脚传递执行,数据引脚传递值。array<struct:nl.ending> 这样的类型是结局的数组,在卡片上显示为结局列表;各种结构见结构。可在节点卡上直接填字面量意味着你可以在卡片上输入该值,而不必拉一条连线。部分节点带动态引脚,由所选变量、所选 fn 的签名或你追加的分支推导出来。这类引脚以文字说明,因为没有固定的表可列

可用性

节点出现在本目录里,不代表它会出现在你的创建浮窗中。有以下几层过滤:

  • Blueprint Value。 Blueprint Value 只提供上面那条规则允许的节点
  • 内联故事值。 内联故事值和分支条件拒绝 latent 节点
  • 宿主与控件能力。 Self 节点只在具备该能力的控件蓝图里出现;Text 控件的蓝图里不会提供 Set Slider Value
  • 已存在的绑定。 Element 节点只有在图中已有可兼容的 Element、Element Flush 或 Element Click 节点可供连接时才会出现
  • 列表项上下文。 Get List Item Index、Get List Item Key、Get List Item Count 与 Get List Item Props 读取元素所渲染的那一项,所以只在可能有某一行处于作用域的地方出现,例如 List 项模板内元素的蓝图。Get Field 在所有蓝图中都提供,在这些位置不连接对象时读取当前行
  • Story Action 蓝图。 由故事行调用的蓝图不提供任何驱动运行中游戏或其界面的节点:没有 App、Localization、Network、Sound、Voice 节点,Game 分类也几乎全部不提供

存在多个兼容来源时,创建浮窗只列出该节点一次。若来源恰好唯一,添加时会自动连上;若有多个,则保留目标输入由你选择

同类节点

有些节点是同一种操作的不同形式,例如六个比较节点、四个按键事件 Head。创建浮窗把这样的每一组节点作为一组同类节点列出

  • 浏览。 搜索节点框为空时,一组同类节点只占一行:上面是组名,下面是分类与节点数,例如数学 · 6 个节点。鼠标悬停在这一行上会列出组内的节点。选择这一行会添加组内的第一个节点,即下表中列在最前面的那个。Element 节点也这样合并,每个已绑定的元素各有一行
  • 搜索。 搜索时,组内每个节点各占一行。输入>或大于都会找到Greater Than;输入组名(例如比较)会列出组内全部节点
  • 切换已放置的节点。 节点属于某一组时,卡片标题旁有一个 ▾ 按钮(切换为同类的其他节点)。点击后列出组内当前蓝图能放置的节点,当前节点带勾选标记。选择另一个节点,卡片会在原位置变成该节点

卡片切换为组内另一个节点时:

  • 新节点有对应的引脚且该引脚接受这条连线时,连线保持连接。连到Set BGM Volume的bgmVolume的连线,在卡片变成Set SFX Volume后改连到soundVolume
  • 新节点无法接受的连线会被移除
  • 新节点有相同的设置时,设置保留:Integer常量上的3在卡片变成Float后仍是3。其他设置会被移除(例如On Key Down变成Any Key Down时原先选定的按键),新节点的设置从默认值开始
  • 卡片上填写的值,在对应引脚接受同一类型的值时移到该引脚上,否则被移除
  • Ctrl+Z(macOS 上为 Cmd+Z)一步恢复原来的节点及其连线和值

同类节点只影响创建浮窗中节点的列出方式。每个节点仍保留自己的名称和 type id,已有的图不受影响

组名节点分类
按键时On Key Down、On Key Up、Any Key Down、Any Key UpEvents
手柄按键时On Gamepad Button Down、On Gamepad Button Up、Any Gamepad Button Down、Any Gamepad Button UpEvents
字面量String、Integer、Float、Boolean、Color、Vector2D、Rect、JSON、NullData
转换类型To String、To Integer、To Float、To Boolean、To JSONData
判断类型Is String、Is Number、Is Boolean、Is Array、Is Object、Is NullData
去除空白Trim、Trim Start、Trim EndData
转换大小写To Lower Case、To Upper Case、CapitalizeData
替换文本Replace、Replace AllData
填充文本Pad Start、Pad EndData
取整Round、Floor、CeilMath
随机数Random Integer、Random FloatMath
比较Equal、Not Equal、Greater Than、Greater Than Or Equal、Less Than、Less Than Or EqualMath
获取偏好设置17 个节点:「偏好」一节中除Get Track Volume以外的全部Get …节点,第一个是Get Auto ForwardGame
修改偏好设置17 个节点:「偏好」一节中除Set Track Volume以外的全部Set …节点,第一个是Set Auto ForwardGame
获取存档信息Get Save Time、Get Save Playtime、Get Save Line、Get Save Story、Get Save Preview、Get Save MetadataGame
获取文本样式Get Font、Get Font Size、Get Font Weight、Get Text Color、Get Line Height、Get Text Align、Get Text Vertical Align、Get Wrap Mode、Get EffectsText、Element
设置文本样式同样九项属性的Set …节点Text、Element
获取图片显示方式Get Image Fit Mode、Get Image Flip X、Get Image Flip Y、Get Image Crop RectImage、Element
设置图片显示方式同样四项属性的Set …节点Image、Element
获取可见性或启用状态一种控件的Get Visible与Get Enabled:Button、Container、Frame、Image、List、Slider、Switch 或 Text。Element 节点为Get Button Visible与Get Button Enabled,其余控件同理控件所在分类、Element
设置可见性或启用状态一种控件的Set Visible与Set Enabled,以及对应的 Element 节点控件所在分类、Element

文本样式、图片显示方式、可见性或启用状态这几组,控件自身的节点与 Element 节点分属不同的组,可见性或启用状态还按控件类型各自成组。卡片上的 ▾ 只列出卡片所在那一组的节点

分类

节点数是创建浮窗里提供的节点数。同类节点按组内全部节点计数,而创建浮窗分类标签上的数字把一组同类节点算作一行,因此可能更小。已从创建浮窗隐藏、为让旧图继续运行而保留的节点在各自分类页里有说明,不计入节点数

分类节点数涵盖
Events58入口点:生命周期、输入、Surface 转场、Broadcast
Flow12分支、循环、顺序执行、延迟
Functions3声明 fn、调用、返回
Variables9声明与读写蓝图变量、持久变量
Data96字面量、类型转换、类型判断、JSON、字符串、数组、结构的字段
Math25算术、取整、布尔逻辑、比较
Time15当前时间、日历,以及日期文本
Game97剧情控制、对话、偏好、存档、对话记录
App31Surface 导航、窗口、应用生命周期
Localization6游戏面向玩家的语言,以及项目的翻译键
Network3HTTP 请求与响应读取
Displayable9几何、外观变体、属性动画
Element137以上各类的 Element 版本:作用于接入的 Element 而非自身
Image16图片资源与填充
Text28文本内容与排版
Text Input3可编辑文本框
Button7按钮标签与指针
Container6容器布局与子元素
Frame8Frame 所展示的 Page 及其 params
List32运行时项、选中、滚动、项上下文
Slider9值、范围与吸附
Debug2日志与图内注释
Input5玩家在用哪一类设备、某个输入意图是不是被按住的,以及手柄的按键与摇杆
Sound9播放界面的音频片段、之后再找到它的句柄,以及页面的音乐
Voice5播放录好的语音,以及当前生效的配音语言
Component1把组件的这一次摆放与另一次区分开来的那个参数
Switch9Switch 控件的选中状态,以及它的启用与可见开关
Video14视频控件的播放、暂停、停止与跳转,以及音量、静音、循环与速度

本页目录