[LiteLoaderBDS插件编写教程] - 04 模式表单(ModalForm)
本帖最后由 无情丶兰剑 于 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("你关闭了表单")
}
})
})
下期预告: 普通表单的创建与回调
感谢分享 感谢楼主教程 感谢分享 不错的教程[贴吧_滑稽][贴吧_大拇指] [贴吧_呵呵] 感谢分享 感谢分享 感谢分享[贴吧_呵呵]
页: [1]