跨地图实体控制指南

From Valve Developer Community
< Zh
Jump to navigation Jump to search
English (en)中文 (zh)Translate (Translate)
Note.png注意:本文适用于单人模式,多人游戏不适用trigger_changelevel(en)。回合制多人游戏可使用相同实体修改下回合设置,详见底部[[Zh/
  1. External links|外部链接]](en)

当关卡逻辑复杂度超出引擎限制时(如按钮控制灯光),可通过env_global(en)实现跨地图的实体控制。本文假设您已掌握基础地图切换设置。

单次触发模式

首张地图实体配置
目标地图实体配置
env_global设置(两地图需完全一致)

地图配置

= 首张地图

  • 触发实体:命名为buttonfunc_button,参数:
 - 重置延迟 = -1
 - 勾选Don't Move标志
  • 全局状态器:命名为light_globalenv_global
 - Global State To Read = turn_on_light(可自定义名称)
  • 调试工具(可选):game_text实体text_button_on
Note.png注意:通过developer 4控制台命令可查看实体输出信息。当存在复杂I/O序列(如logic_timerlogic_case)时,game_text能更清晰显示调试信息。

= 目标地图

 - Global State To Read = turn_on_light(必须与首图一致)
  • 被控实体:命名为redlight

输入输出配置

= 首张地图

按钮输出设置:

输出事件 目标实体 输入指令 参数 延迟 单次触发
OnPressed light_global TurnOn - 0.00
OnPressed !self Lock - 0.01

= 目标地图

logic_auto输出设置:

输出事件 目标实体 输入指令 参数 延迟 单次触发
OnMapSpawn red TurnOn - 0.00
Icon-Bug.png错误:避免在logic_auto使用OnMapTransition,过渡期崩溃会导致存档读取问题。  [todo tested in ?]

多次切换模式

多次触发模式首图配置
多次触发模式目标图配置

进阶配置

 - light_global(状态turn_on_light)
 - light_global_off(状态turn_off_light
  • 按钮需启用Toggle标志
  • 通过OnUseLocked实现状态反转

外部链接

参见