返回列表 发帖

秀一下自制界面,mushclient

上面聊天窗口,右下角血槽,方向键和一些按钮,
土是土了点


北大侠客行MUD,中国最好的MUD
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

不错不错,自己动手总比拿来就用好!

TOP

回复 1# newflyaaaa


   大佬 可以教下血条上面的方位按钮怎么做的吗?  

TOP

大佬不敢当,哈哈
就是用miniwindow自己画的
https://www.gammon.com.au/scripts/doc.php?general=miniwindows
每个按钮就是先画个方形,再上面画个字,然后再加个hotspot
用当前的出口做个trigger来更新按钮的字和hotspot。

有点麻烦就是哪个方向键画什么地方,我是左边放w,wu,wd,右边放e,eu,ed,然后中间是enter,out,up和down都是固定地方。

TOP

贴个按钮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. }
复制代码

TOP

回复 5# newflyaaaa


    多谢(っ╹◡╹)ノ❀

TOP

返回列表