北大侠客行MUD论坛

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

lzkd 在问下miniwindow

[复制链接]
发表于 2010-7-22 20:14:06 | 显示全部楼层 |阅读模式
我看你的函数,看的到miniwindow部分代码。但是好像没有调用 function draw_window () 这个函数,
那么小窗口是真么画处理啊的?
弱弱的问下。可以解答不?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-7-22 20:38:22 | 显示全部楼层
get_dbr 这个函数里调用了draw_window()

另外,我建了一个定时器,5秒刷一次,调用了draw_window()
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-7-22 22:22:49 | 显示全部楼层
同意楼上发言,建议转楼主处理
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-7-23 01:56:24 | 显示全部楼层
ok 这个函数已经搞明白了。
但是有个可以画百分比的。draw_line 是什么东西?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-7-23 01:58:23 | 显示全部楼层
function draw_line (iLine, sPrompt, iCurrent, iMax, sGoodColour, sBadColour, sOverColour)
       
        -- draw the Text
        local left1 = EDGE_WIDTH + 4
        local left2 = left1 + 40
        local left3 = left2 + 185
       
        local top = (EDGE_WIDTH + 3) + (font_height+2)*(iLine-1)
       
        local text_colour = WINDOW_TEXT_COLOUR
       
        local text1 = sPrompt
  --Note ( text1)

  WindowText (win, "f1", text1, left1, top, 0, 0, text_colour, true)

-- adjust different font height in one line  
  local top1 = top - 1
  
--  draw the background colour of the bar
  local back_colour =  ColourNameToRGB("dimgray")
  WindowText (win, "f2", "gggggggggggg", left2, top1, 0, 0, back_colour, true)
       
        if iCurrent == "" or iMax == "" then
                iCurrent = 0
                iMax = 0
        end -- if

  percent = math.floor(iCurrent/(iMax/12))       


--  Below 25% warn by using different colour, or above 100% using another different colour
        if percent < 3 then
                active_colour= ColourNameToRGB(sBadColour)
        elseif percent > 12 then
                percent = 12
          active_colour = ColourNameToRGB(sOverColour)
        else
          active_colour = ColourNameToRGB(sGoodColour)
        end -- if

--  Draw active part of gauge
        for count = 0,percent do
          if count == 0 then
                  bar = ""
          else
                  bar = bar.. "g"
                end -- if
        end -- for
       
        if bar == nil then
                bar = ""
        end -- if
       
  WindowText (win, "f2", bar, left2, top1, 0, 0, active_colour, true)

        local text3 = iCurrent.. "  /  ".. iMax
  WindowText (win, "f3", text3, left3, top, 0, 0, active_colour, true)

-- end draw the Text Line
       
end -- draw line
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-7-23 01:58:34 | 显示全部楼层
貌似这个更有意思。研究研究
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-7-23 04:09:32 | 显示全部楼层
恩。基本明白了。fool
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 04:40 AM , Processed in 0.008884 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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