超级自定义关卡/关卡事件
阅读
2026-07-23更新
最新编辑:Christine_nya
阅读:
更新日期:2026-07-23
最新编辑:Christine_nya
事件节点系统使用手册
欢迎使用事件节点系统!这是一款强大的可视化编辑工具,让你无需编写任何代码就能创建复杂的游戏逻辑。
教程视频
什么是事件节点系统?
事件节点系统就像搭积木一样,你把不同功能的"节点"用线连起来,就能创造出各种游戏机制。比如:
- 当僵尸死亡时 → 给你金币
- 当按下空格键 → 显示文字
- 当植物被种下 → 计数+1
让我们创建一个简单的例子:
当关卡开始时,显示欢迎文字
step1:打开超级自定义-关卡事件 step2:右键屏幕,打开菜单 step3:点击创建节点-事件触发-关卡开始 step4:右键屏幕,点击创建节点-行为-显示文本 step5:从"关卡开始"节点的右侧端口("触发")拖一条线到"显示文本"节点的左侧端口("触发") step6:创建节点-值-字符串-输入"游戏开始!" step7:从"字符串"节点的右侧端口(值")拖一条线到"显示文本"节点的左侧端口("文本") step8:保存并生成关卡
恭喜!你创建了第一个事件!
界面介绍
节点外观
|
← ← 上方:显示节点名称(如:显示文本、计数器) | ||||
| ← ← 下方:左边是输入端口,右边是输出端口 | |||||
节点结构说明
- 上 方 :节点标题,显示节点名称
- 下方左侧:输入端口(接收数据或触发信号)
- 下方右侧:输出端口(输出数据或触发信号)
信息面板
- 3.7版本加入,可以通过点击左上角的✓暂时隐藏,但点击任意节点/分组都会显示
- 显示在界面左上角,内容包括:已选中节点/分组的标题、描述、节点ID
- 可以在下方搜索框输入节点ID定位该节点(可以在Debug模式、C:\Users\用户名\AppData\LocalLow\LanPiaoPiao\PlantsVsZombiesRH\Player.log中获取出Bug的节点ID)
变量面板
- 3.7版本加入,可以通过点击左上角的✓暂时隐藏
- 变量是一种全局数据,其在任意位置、任意时间改变时,该存档内所有同名、同类节点都会同步改变
- 面板右侧的三个按钮创建三种不同类型的变量
- 左键点击其中的变量,也会在消息面板中显示节点命名、值,也可以在其中删除节点
- 左/右键点击其中的变量、并拖拽到空白区域,可以创建一个同名变量节点
操作
鼠标左键操作
| 操作 | 说明 |
|---|---|
| 左键点击节点 | 选中节点(边框变为红色,会使之前被选中的节点取消选中状态) |
| Ctrl+左键点击节点 | 选中节点(边框变为红色,不会改变其它节点的选中状态) |
| 左键拖拽节点 | 移动节点位置 |
| 左键点击端口、并拖到端口 | 创建连接线 |
| 左键点击端口、并拖到空白 | 打开右键菜单,但只显示可用节点,选择时自动连接 |
| 左键点击分组(3.7版本) | 选中分组(信息面板显示该分组信息,可以修改分组命名) |
| 左键拖拽分组(3.7版本) | 移动该分组中所有节点的位置 |
| 左键点击变量面板中的变量(3.7版本) | 选中变量(信息面板显示该变量信息,可以修改变量命名和值) |
| 左键拖拽变量面板中的变量到空白(3.7版本) | 创建一个该变量的输出节点 |
鼠标左键-连线
1. 创建连接:
- 点击源节点的输出端口(右侧)
- 按住鼠标左键拖动到目标节点的输入端口(左侧)
- 松开鼠标完成连接
2. 连接规则:
- ✅ 可以连接:触发端口 → 触发端口
- ❌ 不能连接:触发端口 → 数据端口.
- ❌ 不能连接:数据端口 → 触发端口
- ✅ 可以连接:数据端口 → 同类型数据端口
- ❌ 不能连接:不同类型的数据端口
3. 连线共存:
- ✅ 可以一对多:1个触发端口 → 多个触发端口
- ✅ 可以多对一:多个触发端口 → 1个触发端口
- ✅ 可以一对多:1个数据端口 → 多个数据端口
- ❌ 不能多对一:多个数据端口 → 1个数据端口
4.删除连线
- 对于数据端口,你可以点击端口将其拖到空白区域,随便创建一个节点替换其链接、然后将新建的节点删除
- 对于触发端口,你只能将节点整个删除来取消链接
- (3.7版本后,你可以通过鼠标中键点击仍意节点,来取消该节点已经链接的所有连线)
鼠标左键-框选
1. 框选节点:
- 按住鼠标左键
- 在画布上拖拽出矩形框
- 框内的节点会被选中(边框变为红色)
2. 移动多个节点:
- 框选多个节点后
- 拖动任意一个节点
- 所有选中的节点会一起移动
3. 删除多个节点:
- 框选多个节点
- 按Delete键删除
4.创建分组(3.7版本后)
- 框选多个节点
- 右键点击任意位置
- 选择创建分组
鼠标右键操作
| 操作 | 说明 |
|---|---|
| 右键点击空白区域 | 打开右键菜单(创建/粘贴节点) |
| 右键点击节点 | 打开右键菜单(创建/删除/复制/粘贴节点) |
| 右键点击、且有多个已选中的节点(3.7版本) | 打开右键菜单(创建/删除/复制/粘贴节点、创建分组) |
| 右键点击分组中的节点(3.7版本) | 打开右键菜单(创建/删除/复制/粘贴节点、移出分组) |
| 右键点击分组中的空白区域(3.7版本) | 打开右键菜单(创建/删除/复制/粘贴节点、解散分组) |
- ps.根据已选中的节点位置,右键点击空白区域会有不同的结果,请自行探索
鼠标中键操作
| 操作 | 说明 |
|---|---|
| 滚轮 | 缩放画布 |
| 中键拖拽空白区域 | 平移画布 |
| 中键点击节点(3.7版本) | 清除所有相关连线 |
| 中键拖拽节点(3.7版本已取消) | 移动节点位置 |
键盘按键操作
| 操作 | 说明 |
|---|---|
| Delete键 | 删除选中的所有节点 |
| Ctrl+左键点击节点 | 选中节点(边框变为红色,不会改变其它节点的选中状态) |
| Ctrl+C键 | 复制选中的所有节点 |
| Ctrl+V键 | 粘贴上一次复制的节点 |
端口
| 端口颜色 | 端口类型 | 说明 |
|---|---|---|
| ● 黄色 #ffcc31 | 触发端口(Trigger) |
|
| 数据端口:用于传递具体的数据值。 | ||
| ● 淡蓝色 #66ccff | 整数(Int) |
|
| ● 淡绿色 #66ff98 | 浮点数(Float) |
|
| ● 玫红色 #ff4b80 | 布尔值(Bool) |
|
| ● 粉红色 #ff99ca | 字符串(String) |
|
| ● 灰色 #808080 | 植物类型/列表(PlantType / List) |
|
| ● 灰色 #808080 | 僵尸类型/列表(ZombieType / List) |
|
| ● 灰色 #808080 | 植物/列表(Plant / List) |
|
| ● 灰色 #808080 | 僵尸/列表(Zombie / List) |
|
| ● 灰色 #808080 | GameObject(列表) |
|
| ● 灰色 #808080 | 变量(Variable) (3.7版本后) |
|
节点
事件触发
- 背景:红色 #ff6666
- 作用:这些节点监听游戏中的事件,当事件发生时自动触发。
| 最新版本:3.7 | 说明 |
|---|---|
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
设置端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输出端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输出端口:
|
植物操作
- 背景:粉绿色 #4be680
- 作用:用于创建、修改和操作植物。
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
设置端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
设置端口:
输出端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
设置端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
僵尸操作
- 背景:紫灰色 #9966ca
- 作用:用于创建、修改和操作僵尸。
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
设置端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
键入端口:
|
行为
- 背景:绿色 #31cc66
- 作用:这些节点执行具体的游戏动作。
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
设置端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输入端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输入端口:
|
关卡操作
- 背景:粉红色 #cc4b80
- 作用:用于修改关卡环境和效果。
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
|
工具
- 背景:黄色 #ccb24b
- 作用:获取游戏状态信息。
|
| 最新版本:3.6 | 说明 |
|---|---|
输出端口:
|
值
- 背景:蓝色 #6699ff
- 提供各种类型的数据。
|
| 最新版本:3.6 | 说明 |
|---|---|
键入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
键入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
设置端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
键入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
使用技巧:
|
逻辑
- 背景:紫色 #8066e5
- 作用:控制事件流程和条件判断。
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
使用技巧:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
比较
- 背景:粉紫色 #e680b2
- 作用:比较两个值的大小关系。
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
运算
- 背景:青绿色 #66cc98
- 作用:进行数学运算。
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输出端口:
|
变量
- 背景:青绿色 #66cc98
- 作用:获取或设置全局变量。
|
- 当你要获取某个变量时,需要从左侧的变量面板内将其拖出来创建节点
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
输入端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
输入端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
输出端口:
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
输入端口:
|
转换
- 背景:紫蓝色 #9999ca
- 作用:在不同数据类型之间转换。
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输入端口:
|
| 最新版本:3.6 | 说明 |
|---|---|
输入端口:
输入端口:
|
已过时
- 背景:灰色 #7a7a7a
- 作用:已经有新形式的老版本节点。
|
| 最新版本:3.7 | 说明 |
|---|---|
输入端口:
设置端口:
键入端口:
|
实战案例
案例1:击杀奖励
目标:每击杀5个僵尸,奖励100金币
[僵尸死亡] → [计数器]
├─ 是否重置 = false
└─ 计数 → [整数比较] 判断是否≥5
├─ [条件分支]
│ ├─ true → [获得金币] 100
│ │ → [计数器] 是否重置=true
│ └─ false → (不执行)
案例2:定时奖励
目标:关卡开始10秒后,显示提示
[关卡开始] → [等待]
├─ 持续时间 = 10
└─ 完成 → [显示文本] "游戏已进行10秒"
案例3:植物保护
目标:当植物血量为0时,自动回血
[植物血量为0时] → [给植物回血]
├─ 植物 = [植物血量为0时].植物
└─ 恢复量 = 300
案例4:开关模式
目标:按Tab键切换攻击/防御模式
[按下Tab键] → [开关]
├─ 状态 → [条件分支]
│ ├─ true → [显示文本] "攻击模式"
│ └─ false → [显示文本] "防御模式"
案例5:波次奖励
目标:第3波来临时,获得500金币
[关卡波数增加时] → [整数比较] 波次 == 3
├─ [条件分支]
│ ├─ true → [获得金币] 500
│ └─ false → (不执行)
案例6:连击检测
目标:连续点击3次,触发特殊效果
[按下P键] → [计数器]
├─ 是否重置 = false
└─ 计数 → [整数比较] 计数 == 3
├─ [条件分支]
│ ├─ true → [显示文本] "连击成功!"
│ │ → [计数器] 是否重置=true
│ └─ false → (不执行)
案例7:植物卡牌管理
目标:删除所有向日葵卡牌,添加豌豆向日葵
[关卡开始] → [删除卡槽植物卡牌]
├─ 植物类型 = [植物类型] 向日葵
└─ 完成 → [添加植物卡牌]
├─ 植物类型 = [植物类型] 豌豆向日葵
├─ 冷却时间 = 3
├─ 价格 = 25
└─ 使用默认数据 = false
案例8:僵尸生成波
目标:关卡开始5秒后,在第3行生成3个僵尸
[关卡开始] → [等待] 持续时间=5
└─ 完成 → [循环] 循环次数=3
└─ 完成 → [创建僵尸] 行=2, 列=6
案例9:状态检测
目标:当阳光超过1000时,显示提示
[关卡开始] → [周期切换] 间隔=10秒
└─ 周期 → [获取当前阳光]
└─ 阳光 → [整数比较] 阳光 ≥ 1000
├─ [条件分支]
│ ├─ true → [显示文本] "阳光充足!"
│ └─ false → (不执行)
案例10:多重条件
目标:阳光充足且僵尸数量少时,提示可以种植
[按下鼠标时] → [获取当前阳光]
└─ 阳光 → [整数比较] 阳光 ≥ 200
├─ true → [获取最近僵尸]
│ └─ 僵尸 → [条件分支] 僵尸==null
│ ├─ true → [显示文本] "安全,可以种植!"
│ └─ false → [显示文本] "有僵尸!"
└─ false → [显示文本] "阳光不足"
常见问题
Q1:如何删除节点?
A:右键点击节点,选择"删除",或选中节点后按Delete键。
Q2:如何移动多个节点?
A:
- 长按左键框选
- 拖动任意一个选中的节点
- 所有选中的节点会一起移动
Q3:为什么连线失败?
A:检查端口类型是否匹配:
- 触发端口只能连触发端口
- 数据端口只能连同类型的数据端口
- 不同类型的数据端口不能连接
Q4:计数器如何重置?
A:将"是否重置"端口连接到一个布尔值节点:
- true = 重置为0
- false = 继续计数+1
Q5:如何让事件只触发一次?
A:使用计数器节点:
[事件] → [计数器]计数结束 → [比较]计数是否为1 → [条件分支]
├─ true → [执行操作]
└─ false → (不执行,已触发过)
Q6:如何延迟执行?
A:使用等待节点:
[事件] → [等待] 持续时间=3
└─ 完成 → [要执行的操作]
Q7:如何组合多个条件?
A:使用"且"(AND)或"或"(OR)节点:└─
[条件A] → [且] [条件B] → [且] → 结果(两个都为true才输出true)
Q8:如何获取植物或僵尸对象?
A:使用"植物种植时"或"僵尸生成时"事件,它们会输出植物/僵尸对象。
Q9:端口颜色代表什么?
A:
- 🔴 红色端口 = 触发(Trigger)
- 🔵 蓝色端口 = 数据(各种类型)
- 不同颜色的数据端口代表不同类型,需要匹配才能连接
Q10:为什么测试时游戏会崩溃
A:可能是某些节点陷入无间隔死循环或循环次数过多。
- 无间隔死循环经典案例:
[事件] → [循环] 循环次数=2 → [循环] 循环次数=3
↑ │
└─────────┘
- 循环次数过多经典案例:
[事件] → [循环] 循环次数=999 → [循环] 循环次数=999
Q11:如何在显示文本中插入变量/计数器
A:使用"字符串拼接"和"转换"中的节点:
- 插入变量示例:
[整数变量]"整数变量A" → [获取整数] → [整数转浮点数] → [浮点数转字符串]
[事件] → [显示文本] 持续时间=3 │
└─ 文本 ←──── 结果 [字符串拼接]┬─ A ←─┘
└─ B ←──[字符串]"个"
- 插入计数器示例:
[计数器]计数 → [整数转浮点数] ──────────→ [浮点数转字符串]
[事件] → [显示文本] 持续时间=3 │
└─ 文本 ←──── 结果 [字符串拼接]┬─ A ←─┘
└─ B ←──[字符串]"个"
进阶技巧
分组管理
- 使用框选功能选中相关节点,右键选择"创建分组",方便管理复杂的事件。
复制粘贴
- 选中节点后按Ctrl+C复制,Ctrl+V粘贴,可以快速创建相似的节点结构。
性能优化
- 避免创建过多的周期性事件
- 合理使用"等待"节点而非快速循环
- 及时清理不需要的连接
祝你创作愉快! 🌻


沪公网安备 31011002002714 号