找回密码
 注册
搜索
查看: 503|回复: 7

有没有大神百忙之中讲解一下这两段code啊?

[复制链接]
门派:大轮寺
发表于 2019-6-24 13:34:16 | 显示全部楼层 |阅读模式
function button_lostletter()                    --这个函数的作用是什么?

   win3="show_message_btn3"
   WindowCreate(win3,0,0,300,20,7,16,ColourNameToRGB("black"))
   
   local _mousedown_lostletter=mousedown_lostletter()
   _G["at_mousedown_lostletter"]=_mousedown_lostletter
   WindowAddHotspot(win3, "btn_lostletter",                 --这个操作是干什么的啊
                    0, 0,300, 20,   -- rectangle
                   "",   -- MouseOver
                   "",   -- CancelMouseOver
                   "at_mousedown_lostletter",  -- MouseDown
                   "",   -- CancelMouseDown
                   "",   -- MouseUp
                   "左键看信,右键去地点",  -- tooltip text
                   cursor or 1, -- cursor
                   0)  -- flags

          local switch_name=""
               
      switch_name="失落的信笺地点:"..lostletter_locate
                 

         WindowFont (win3, "f", "新宋体", 10, true, false, false, false)
         
         WindowText (win3, "f", switch_name,0,0,300,20,ColourNameToRGB ("gold"), false) -- not Unicode
         
     WindowShow (win3,  true)  -- show it


end
function mousedown_lostletter()
  return function (flags, hotspot_id)             --这句是什么意思?flags,hotspot_id这两个参数在什么地方定义啊?
    --print("hotspot_id="..hotspot_id)
        --print("flags="..flags)
       
        --颂摩崖
        local wherell=""
        if hotspot_id=='btn_lostletter' then

                if flags==16 then                         这些16,32,96表示的是什么啊?
               
                  exe('look lose letter')
                  
                         
                end
                if flags==32 then
               
                        return goll()
                end
                if flags==96 then
                        return goll_always()
                end                --text add

                  --WindowCircleOp (win, miniwin.circle_round_rectangle , 0, 0, 120, 20, 0x909090, 0, 1,0, 0, 9, 9)
                  WindowRectOp (win3, miniwin.rect_fill, 0,0,300,20,ColourNameToRGB("black"))  -- raised, filled, softer, flat 0x909090
                  WindowFont (win3, "f", "新宋体", 10, true, false, false, false)
                  WindowText (win3, "f", "失落的信笺地点:"..lostletter_locate,0,0,300,20,ColourNameToRGB ("gold"), false) -- not Unicode
                  WindowShow (win3,  true)  -- show it
        end
  end
end
门派:武当派
发表于 2019-7-1 21:33:51 | 显示全部楼层
主要是关于GUI的绘制还有 mousedown就是按下鼠标后的事件绑定的操作,  WindowAddHotspot 之类的应该不是lua的原生方法,看起来像Mush提供的方法, 用于GUI描点的,hotpot就是通常说的热点, 常用绘制地图之类不规则图形上描点操作以及绑定事件用的...如果你不想重构GUI的话..没必要了解太多Mush提供的GUI原生方法, 老实说Mush提供的GUI不是太好用..
门派:天龙寺
发表于 2019-6-24 16:05:36 | 显示全部楼层
你要去看看lua 的资料哦

long WindowCreate(BSTR WindowName, long Left, long Top, long Width, long Height, short Position, long Flags, long BackgroundColour);
flag 16 - Keep existing hotspots.
门派:昆仑派
发表于 2019-6-24 16:21:21 | 显示全部楼层
公版这个函数好像时有点问题的
门派:昆仑派
发表于 2019-6-24 16:23:26 | 显示全部楼层
返回函数是什么 就看返回的函数就行了吧
门派:大轮寺
 楼主| 发表于 2019-6-24 20:17:20 | 显示全部楼层
manman@tj 发表于 2019-6-24 16:05
你要去看看lua 的资料哦

long WindowCreate(BSTR WindowName, long Left, long Top, long Width, long H ...

3q,这个还是基本靠猜啊,我再研究下
门派:明教
发表于 2019-7-2 23:37:29 来自手机 | 显示全部楼层
vingi@tj 发表于 2019-7-1 21:33
主要是关于GUI的绘制还有 mousedown就是按下鼠标后的事件绑定的操作,  WindowAddHotspot 之类的应该不是lua ...

太专业了,照抄就完了
门派:明教
发表于 2019-7-2 23:38:06 来自手机 | 显示全部楼层
能抄好作业也不容易     我就是抄作业都抄不对那种
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|书剑永恒MUD ( 闽ICP备14012032号|闽公网安备 35050202000162号 )

GMT+8, 2025-6-8 05:58 , Processed in 0.045151 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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