Skip to content
iPlugin

切换按钮状态

制作一个点击后在开启、关闭两种外观之间切换的按钮。

在同一格放置一个开关:点击灰色染料后变为黄绿色,再点击恢复灰色。

states-demo.yml配置效果示意 · 非游戏截图
图示状态enabled 未设置
窗口槽位 4窗口坐标 4x0面板局部坐标 4x0字符 A

变量 enabled 改变后,重新选择子图标并更新显示。

保存菜单

保存为 plugins/Invero/workspace/states-demo.yml,或下载 states-demo.yml:

plugins/Invero/workspace/states-demo.yml
menu:
  title: '&8按钮开关'
  rows: 1
panels:
  - layout:
      - '    A    '
    icons:
      A:
        material: GRAY_DYE
        name: '&7尚未开启'
        action: 'ctx set enabled to true icon refresh'
        sub:
          - if: 'ctx get enabled'
            material: LIME_DYE
            name: '&a已开启'
            action: 'ctx del enabled icon refresh'

打开并切换两次

/invero menu reload
/invero menu open states-demo
  1. 中间显示灰色染料,名称为“尚未开启”。
  2. 点击一次,同一格变为黄绿色染料,名称为“已开启”。
  3. 再点击一次,恢复灰色染料。

按 Esc 关闭后重新打开,按钮再次从灰色开始。本例的 enabled 只在当前菜单会话中保留;需要记住选择时,见持久数据。

开关怎样工作

  • ctx set enabled to true 记录开启状态,ctx del enabled 清除它。
  • sub 中的 if 根据 enabled 选择黄绿色外观;条件不成立时使用父图标的灰色外观。
  • 每次修改变量后执行 icon refresh,重新选择当前按钮的状态并更新显示。

这个开关只需要刷新当前按钮。其他刷新操作的区别见图标刷新,完整语法见图标语句。

Last updated on