Skip to content
On this page

输入框组件

输入框组件用于接收玩家在当前页面会话中输入的文字。它支持提示文字、文字偏移、普通与聚焦背景图片,以及聚焦状态下的独立 GIF 和源图选区。

适用场景

  • 搜索、名称和数量输入
  • 表单与确认页面
  • 页面脚本读取或修改临时输入值
  • 普通/聚焦两种外观的文本框

输入值保存在当前客户端页面会话中。关闭并重新打开页面后,会重新建立输入状态;服务端不会因为玩家输入文字就自动执行命令或业务操作。

通用配置

配置项编辑器名称类型默认值可选值或格式说明
idID字符串自动生成 input_N页面内唯一 ID用于脚本和状态更新。
type类型只读字符串input固定值创建后不能修改。
parent父级字符串布局组件 ID为空表示根级元素。
z层级整数0任意整数控制输入框绘制顺序。
visible显示布尔值truetruefalse静态显隐开关。
enabled启用布尔值truetruefalse为假时不能聚焦和输入。
pointerEvents指针处理枚举autoautoblockpass输入框在 auto 下天然参与命中;pass 后无法获得焦点。
scale缩放数字或公式1非负值以输入框中心缩放背景、文字和命中范围,不改变布局值。
opacity透明度数字或公式101控制输入框背景和文字透明度,不改变命中。
visibleWhen显示条件条件表达式只读条件条件为假时隐藏。
enabledWhen启用条件条件表达式只读条件条件为假时禁用输入。
tooltip多行提示字符串列表最多 32 行,每行最多 256 字符鼠标悬浮提示。
containerBinding容器绑定字符串当前容器的语义槽位 ID仅容器替换页面使用,可读取绑定物品信息。
containerTooltip容器提示布尔值truetruefalse没有显式 tooltip 时是否显示绑定物品提示。
layout.xX数字或公式创建时画布位置合法布局公式输入框左上角 X。
layout.yY数字或公式创建时画布位置合法布局公式输入框左上角 Y。
layout.width数字或公式80合法布局公式输入框宽度。
layout.height数字或公式24合法布局公式输入框高度。
events.leftPress
/rightPress/middlePress
按下脚本ChaUI Script多行脚本对应按键按下时触发。
events.leftRelease
/rightRelease/middleRelease
松开脚本ChaUI Script多行脚本对应按键捕获仍有效并松开时触发。
events.leftClick左键脚本ChaUI Script多行脚本左键点击时触发,同时可获得输入焦点。
events.rightClick右键脚本ChaUI Script多行脚本右键点击时触发。
events.middleClick中键脚本ChaUI Script多行脚本中键点击时触发。
events.hoverEnter悬浮进入脚本ChaUI Script多行脚本鼠标进入时触发。
events.hoverLeave悬浮离开脚本ChaUI Script多行脚本鼠标离开时触发。

专属配置

文字与会话值

配置项编辑器名称类型默认值可选值或格式说明
input.placeholder提示字符串新建时组件 ID;字段缺失为空任意安全文字输入值为空时显示的提示。
input.value当前编辑器会话输入字符串当前会话文字运行时状态,不建议作为页面默认配置;关闭页面后不持久保存。
input.textSize文字大小正数1正整数或正小数输入文字缩放比例。
input.textX文字X整数4任意整数文字相对输入框左上角的 X 偏移。
input.textY文字Y整数5任意整数文字相对输入框左上角的 Y 偏移。
input.textLineLength每行字数正整数或空00/空或正整数按字符数量换行。
input.textLineWidth每行宽度非负整数或空0GUI 像素按应用 textSize 后的真实字形宽度换行;0 或空表示不限制。

两个限制可以同时使用,任意一项先达到就换行。显式换行与空行会保留;单个字形本身超过像素限制时会单独占一行。

普通背景

配置项编辑器名称类型默认值可选值或格式说明
input.path背景路径字符串gui/input_N.pngChaUI 相对图片路径,可含 {表达式}未聚焦时的背景图片或 GIF。
input.gifLoopGIF循环布尔值truetruefalse控制普通背景 GIF 是否循环。
input.gifLoopCountGIF次数非负整数00 或正整数0 表示无限循环。
input.sourceX源X非负整数或公式像素坐标或数字公式普通背景选区左上角 X。
input.sourceY源Y非负整数或公式像素坐标或数字公式普通背景选区左上角 Y。
input.sourceWidth源宽非负整数或公式像素尺寸或数字公式普通背景选区宽度;为 0 时普通背景不绘制。
input.sourceHeight源高非负整数或公式像素尺寸或数字公式普通背景选区高度;为 0 时普通背景不绘制。

聚焦背景

配置项编辑器名称类型默认值可选值或格式说明
input.focusPath焦点路径字符串gui/input_N_focus.pngChaUI 相对图片路径,可含 {表达式}获得输入焦点时使用;为空时回退普通背景。
input.focusGifLoop焦点GIF循环布尔值truetruefalse控制聚焦背景 GIF 是否循环。
input.focusGifLoopCount焦点GIF次数非负整数00 或正整数0 表示无限循环。
input.focusSourceX焦点源X非负整数或公式像素坐标或数字公式聚焦背景选区左上角 X。
input.focusSourceY焦点源Y非负整数或公式像素坐标或数字公式聚焦背景选区左上角 Y。
input.focusSourceWidth焦点源宽非负整数或公式像素尺寸或数字公式聚焦背景选区宽度;为 0 时聚焦背景不绘制。
input.focusSourceHeight焦点源高非负整数或公式像素尺寸或数字公式聚焦背景选区高度;为 0 时聚焦背景不绘制。

当图片成功加载时,不会叠加默认描边。没有可用图片时,ChaUI 会绘制默认输入框;聚焦状态使用更亮的高亮边框。

普通与聚焦两组选区都能使用响应式数字公式,计算结果向下取整。负数、非有限值、未知变量或越界只会让对应背景安全回退,不影响输入内容和焦点状态。

普通与聚焦路径都可以读取变量,例如 gui/{vars.theme}/input.pnggui/{vars.theme}/input_focus.png。变量变化后会重新加载对应背景,GIF 从第 0 帧开始。表达式求值后的最终路径仍必须是安全的图片相对路径,非法结果只会回退当前背景。

配置示例

先在页面根级 vars 中加入 theme: default,再把下面组件放入 elements。以后修改 vars.theme,普通与聚焦背景会一起切换目录。

yaml
- id: player_name
  type: input
  parent: ""
  visible: true
  enabled: true
  pointerEvents: auto
  scale: 1
  opacity: 1
  z: 10
  layout:
    x: 20
    y: 40
    width: 140
    height: 22
  input:
    placeholder: 请输入名称
    textSize: 1
    textX: 4
    textY: 6
    textLineLength: 16
    textLineWidth: 120
    path: gui/{vars.theme}/input.png
    gifLoop: true
    gifLoopCount: 0
    focusPath: gui/{vars.theme}/input_focus.png
    focusGifLoop: true
    focusGifLoopCount: 0
  tooltip:
    - 点击后输入文字
  events: {}

输入值保存在当前页面会话中,可以通过输入框对象读取:

yaml
events:
  rightClick: |-
    vars.currentName = component("player_name").input.value
    log("当前输入:{vars.currentName}")

常见问题

点击后无法输入

确认组件 enabled=trueenabledWhen 没有返回假,并且当前处于预览或正常运行页面。

聚焦时没有切换图片

检查 focusPath。聚焦图片不可用时会回退普通图片;两者都不可用时才显示默认高亮框。

如何把输入结果提交到业务插件

输入值属于当前页面会话。需要结合页面脚本、自定义发包或其他插件 API 设计提交流程,服务端仍应校验所有业务数据。

创建事件

输入框可通过 events.create 设置初始提示、临时值或显隐状态。每个输入框实例只触发一次;复制出的新输入框会独立触发。预览退出后,输入值和创建脚本造成的修改都会丢弃。