请选择 进入手机版 | 继续访问电脑版

龙族引擎

 立即注册
搜索
查看: 4148|回复: 4

编写龙族引擎Lua脚本之客户端(3) -- 窗体和控件

[复制链接]

5

主题

19

帖子

15

积分

新手

Rank: 1

积分
15
发表于 2018-10-24 20:54:18 | 显示全部楼层 |阅读模式
下面的示例实现了创建一个窗体, 并在窗体上创建了标签,按钮,单选框,复选框等控件.
GameEvent.lua文件中的脚本如下:


function logon()
  local myself = Client.GETGAMEOBJECT('actor', "myself"); -- 获取当前角色对象
  Client.chat(myself.name..", 欢迎你!");
  initUI();
end;


function btn1Click(sender, x, y)
  --Client.chat('btn1 click');
  myform.visible = not myform.visible; -- 可见/不可见切换
end;


function initUI()
  local btn1 = UI.addButton(0, 20, 10, "test", "btn1Click");
-- btn1.image = "http://img.cwq.com/weixinimg/1387871337323223553252b93c69c1498.jpg";
  
  -- 创建一个窗体和一组控件
  myform = UI.addForm(0, 100,50, "prguse.pak|607");
  myform.canMove = true;  -- 可移动窗口
  myform.visible = false; -- 窗口不可见
  local formid = myform.id;
  local lbl = UI.addLabel(formid, 80, 50, "这是一个标签");
  radioGroup = UI.addRadioGroup(formid, 80, 80, "武士|法师|道士");   -- 标题 以 | 分割标题


  -- 创建一个复选框
  checkBox = UI.addCheckBox(formid, 80, 150, "使用太阳水", true); -- 默认勾选  
  local btnGet = UI.addButton(formid, 80, 180, "获取选择数值", "btnGetClick");  
end;


-- 按钮单击事件
function btnGetClick(sender, x, y)
        for I =1, #radioGroup do
          if radioGroup[I].checked then
                  Client.CHAT(string.format("选中的职业是: %s, 序号=%d", radioGroup[I].Caption, I));
                  break;
          end;
        end;
       
        -- 根据勾选状态处理逻辑
        Client.CHAT(string.format("使用太阳水: %s", tostring(checkBox.checked)));
end;


脚本执行效果如下:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

6

主题

12

帖子

27

积分

新手

Rank: 1

积分
27
发表于 2019-1-30 00:32:53 | 显示全部楼层
参考这个做了个框,显示基本属性。myself.level 显示是0.

UI.addLabel(formid, 30, 60, "人物名:"..myself.name);
   UI.addLabel(formid, 30, 80, "等级:"..myself.level);

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

6

主题

12

帖子

27

积分

新手

Rank: 1

积分
27
发表于 2019-1-30 00:45:15 | 显示全部楼层
又有了,客户端关闭重新打开就有了,看来获取信息得客户端重新打开。普通加控件文字可以小退。
回复

使用道具 举报

1

主题

5

帖子

1

积分

新手

Rank: 1

积分
1
发表于 2020-3-6 16:23:48 | 显示全部楼层
大佬怎么用代码获取到窗口中的button啊?
回复

使用道具 举报

1

主题

20

帖子

2

积分

新手

Rank: 1

积分
2
发表于 7 天前 | 显示全部楼层
能不能在登录的时候获取到用户名,然后经过服务端的对比,在进入选择服务器之前就弹出提示对话框。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|龙族引擎 ( 备案信息 )

GMT+8, 2024-6-18 22:48 , Processed in 0.048025 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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