北大侠客行MUD论坛

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

秀一下自制界面,mushclient

[复制链接]
发表于 2020-5-31 08:43:58 | 显示全部楼层 |阅读模式
上面聊天窗口,右下角血槽,方向键和一些按钮,
土是土了点


北大侠客行MUD,中国最好的MUD

本帖子中包含更多资源

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

x
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2020-6-1 13:25:26 | 显示全部楼层
不错不错,自己动手总比拿来就用好!
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2020-6-11 22:56:23 | 显示全部楼层
回复 1# newflyaaaa


   大佬 可以教下血条上面的方位按钮怎么做的吗?  
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2020-6-12 09:57:29 | 显示全部楼层
大佬不敢当,哈哈
就是用miniwindow自己画的
https://www.gammon.com.au/scripts/doc.php?general=miniwindows
每个按钮就是先画个方形,再上面画个字,然后再加个hotspot
用当前的出口做个trigger来更新按钮的字和hotspot。

有点麻烦就是哪个方向键画什么地方,我是左边放w,wu,wd,右边放e,eu,ed,然后中间是enter,out,up和down都是固定地方。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2020-6-12 10:00:10 | 显示全部楼层
贴个按钮jscript代码吧:

  1. function MBtn(win, idPrefix, text, active, ltrb) {
  2.   this.win = win;
  3.   this.idPrefix = idPrefix;
  4.   this.text = text;
  5.   this.active = active;
  6.   this.ltrb = ltrb;
  7.   this.getText = function() {
  8.     return this.text;
  9.   };
  10.   this.getHotspotId = function() {
  11.     return this.idPrefix + "_hs";
  12.   };
  13.   this.setLtrb = function(l,t,r,b) {
  14.     this.ltrb = [l,t,r,b];
  15.   };
  16.   this.drawMe = function() {
  17.     var l = this.ltrb[0];
  18.     var t = this.ltrb[1];
  19.     var r = this.ltrb[2];
  20.     var b = this.ltrb[3];
  21.     var act = RECT_ACTION_SIMPLE;
  22.     var color1 =DARK_BLUE;
  23.     var color2 = DARK_BLUE;
  24.     if (this.active) {
  25.       act = RECT_ACTION_3D;
  26.       color1 = 5; //5 : Raised 6 : Etched 9 : Bump 10 : Sunken
  27.       color2 = 15; //0x03 (3) top left 0x06 (6) top right 0x09 (9) bottom left 0x0c (12) bottom right  0x0f (15) rect
  28.     }
  29.     // black out previous draw
  30.     world.WindowRectOp(this.win, RECT_ACTION_FILL, l,t,r,b, BLACK,BLACK);
  31.     // Rect
  32.     world.WindowRectOp(this.win, act, l, t, r, b, color1, color2);
  33.     // Hotspot
  34.     world.WindowAddHotspot(this.win, this.getHotspotId(), l,t,r,b,
  35.       "", //BSTR MouseOver
  36.       "", // BSTR CancelMouseOver
  37.       "btnMouseDown", //BSTR MouseDown
  38.       "", //BSTR CancelMouseDown
  39.       "", //BSTR MouseUp
  40.       "", //BSTR TooltipText
  41.       1,  //cursor_hand = 1
  42.       0   //Flags)
  43.     )
  44.     // Text
  45.     var txtH = world.WindowFontInfo(this.win, MFONT, 1);
  46.     var txtT = t + (b - t - txtH) / 2;
  47.     var txtW = world.WindowTextWidth(this.win, MFONT, this.text, false);
  48.     var txtL = l + (r - l - txtW) / 2;
  49.     world.WindowText(this.win, MFONT, this.text, txtL, txtT, r, b, GREEN, false);
  50.   }
  51. }
复制代码
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2020-6-12 14:16:30 | 显示全部楼层
回复 5# newflyaaaa


    多谢(っ╹◡╹)ノ❀
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 05:11 AM , Processed in 0.011218 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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