北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 641|回复: 1

[Mudlet]Geyser基本教程之Label变为按钮

[复制链接]
发表于 2023-10-22 17:34:43 | 显示全部楼层 |阅读模式
本帖最后由 sulryn 于 2023-10-22 05:36 PM 编辑

Mudlet 的所有UI元素里,最常用的就是 Geyser.Label,因为 Label (标签)的用途广泛:
  • 在2024年更新4.18版本的Geyser.Button以前,Geyser.Label 主要用于制作按钮
  • Geyser.Label 同样可以用于显示文字或数值。
  • 也可以作为单纯的文字或图片标签,可以用来播放GIF图。


Geyser.Label 所有函数的参考网站:https://www.mudlet.org/geyser/fi ... 56f16979662275aaacc

StyleSheet 参考网站:https://doc.qt.io/qt-5/stylesheet-reference.html#border-style

创建一个 Geyser.Label 很简单,新建一个脚本,输入如下例子:

label_example = Geyser.Label:new({  --label_example是这个标签的ID
  name = "label_example",  --label_example是这个标签的名字,不同于ID,比如用在raiseWindow()函数里,要写名字不能写ID
  x = "50%",  -- x 是 标签在整个窗口里的X轴(横向)位置(如果放在一个容器里则是容器里的位置)
  y = 0,  -- y 是 标签在整个窗口里的Y轴(纵向)位置
  width = "30%",  -- 标签的宽度,如果是百分比则按主窗口或是容器的宽度来算
  height = "50%",  -- 标签的高度
  fgColor = "white", --字体颜色  color = "blue", --背景颜色
  font = “SimHei", --使用的字体
  stylesheet = [[ ]], --使用的stylesheet, 还没有学会stylesheet的话可以忽略
  message = [[标签]]  --要显示的文字 [[ ]]括号里可以用html格式,例如center来居中
})


将这个Label变成按钮则需要随后加一句:


label_example:setClickCallback(function ()  --设置点击标签后使用的函数
send("look")  --这里可以填写你需要发送的命令或者是任何lua函数
end)





北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2023-10-22 17:39:14 | 显示全部楼层
再附赠一个鼠标左右键发送不同命令的办法:
label_example:setClickCallback(function (event)
  if event.button == "LeftButton" then
    send("look")  --按下鼠标左键后发送的命令
  elseif event.button == "RightButton" then
    send("status_me") --按下鼠标右键后发送的命令
end
end)
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-4-28 06:41 AM , Processed in 0.010745 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表