UID344394性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2022-4-1最后登录1970-1-1
| 本帖最后由 无情丶兰剑 于 2024-11-10 21:27 编辑
01.什么是表单 表单,顾名思义,就是菜单
一个表单的样式(选自PlayerAchievement插件)
把表单细分,可以分为三种: 模式表单 - 一个表单,有一个标题、一个文字框,两个按钮
一个模式表单
普通表单 - 有一个标题、一行文本、存在多个按钮的表单,但不可以存在其它控件
一个普通表单 自定义表单 - 可以添加高级控件: 下拉菜单、滑块、开关等,但是不能添加按钮
一个自定义表单
02.表单的创建 由于篇幅原因,这篇教程只展示模式表单的创建/发送,更多表单的操作将在之后教学
对于一个玩家对象pl,发送模式表单的格式为:
- pl.sendModalForm(title,content,confirmButton,cancelButton,callback)
复制代码 title - 表单标题 content - 表单内容 confirmButton - 第一个按钮名称 cancelButton - 第二个按钮名称 callback - 回调函数 回调函数: data储存了玩家操作表单的记录,这里的data记录了玩家按下按钮的位置 0/1为第一个/第二个按钮 null为关闭了表单(点击叉号) (第二个代码段展示了如何判断玩家按下了哪个按钮)
- function(player, data){
- ...
- }
复制代码- if(data == 1){
- log("按下了第一个按钮!")
- }
- else if(data == 2){
- log("按下了第二个按钮!")
- }
- else if(data == null){
- log("关闭了表单!")
- }
复制代码 综上所述,一个完整的模式表单就出来了
以下是一个示例:
- mc.listen("onJoin", (player) =>{
- player.sendModalForm(`欢迎`, `你好,${pl.name}!`, "确定", "取消", function(pl, dt){
- if(dt == 0){
- pl.tell("你点击了确定")
- }
- else if(dt == 1){
- pl.tell("你点击了取消")
- }
- else if(dt == null){
- pl.tell("你关闭了表单")
- }
- })
- })
复制代码
下期预告: 普通表单的创建与回调
|
|