传奇996_53——后端ui窗口局部刷新

打印 上一主题 下一主题

主题 858|帖子 858|积分 2574

形貌:一个大窗口,点击某个键,弹出小窗口。
小窗口中将msg存进变量中
大窗口中判定一个参数是否为null,如果不为null,说明界面不是第一次打开,而是被刷新了。就加上小窗口的那个变量
偶然小窗口中尚有其他的东西,需要刷新,怎么搞,只要给变量重新赋值,然后再返回到主窗口就行。怎样重新赋值?自己再重新调用一下自己,这不就是局部刷新了
比如小窗口有个按钮,点击按钮,按钮变色,刷新小窗口(调用自己),并把变色标识传已往,一样平常变的颜色会放在table中,直接根据参数标识动态表现。然后再返回给主界面。
参考:富豪募捐
  1. -- 模块名:富豪捐献
  2. --个人封装函数
  3. require("Envir/Market_Def/newfunction/util/myUseFunction.lua")
  4. local zhi_fu_table = {
  5.     [1] = {
  6.         [1] = "zf0.png",
  7.         [2] = "zf1.png",
  8.     },
  9.     [2] = {
  10.         [1] = "hb0.png",
  11.         [2] = "hb1.png",
  12.     },
  13.     [3] = {
  14.         [1] = "wx0.png",
  15.         [2] = "wx1.png",
  16.     }
  17. }
  18. -- 主界面设置按钮,点击调用方法,方法最后返回到主界面,方法中给变量加值,主界面会加上这个值,但是如何刷新呢?
  19. -- 点击弹窗中的按钮,做到刷新,点击按钮,更新值,并返回到主界面,前提是要更新值,直接返回主界面也行,如果这个主界面的choose !=null,说明值改变,说明要更新串窗口变量,但是这样战线有点长
  20. -- 还是更新值再返回主界面吧,更合理
  21. -- <Button|x=642.0|y=439.0|nimg=public_new/fhjx/2.png|submitInput=1|link=@fhjx_quick,]]..(choose or 0)..[[>
  22. -- 不用win_flag参数传递,而是用变量传递判断窗口是否打开的原因是防止按钮可反复点击,但是仅仅使用变量,无法判断是否是第一次打开,这样第一次打开就会打开窗口,就是大退不知道怎么把该变量置为0,所以就之恩呢用local
  23. -- 主界面函数
  24. function fhjxshow(actor, win_flag)
  25.     win_flag = tonumber(win_flag) or 0
  26.     local msg = [[
  27.         <Img|x=-500.0|y=-500.0|width=2000|height=2000|img=public/1900000651_1.png>
  28.         <Img|img=public_new/fhjx/1.png|loadDelay=1|show=4|move=0|reset=1|bg=1>
  29.         <Button|x=828.0|y=71.0|nimg=public/1900000510.png|pimg=public/1900000511.png|link=@exit>
  30.         <Effect|x=-7.0|y=-36.0|scale=1|speed=1|dir=5|effectid=93121|effecttype=0|act=0>
  31.         <Effect|x=765.0|y=419.0|scale=1|speed=1|dir=5|effectid=93122|effecttype=0|act=0>
  32.         <RText|x=305.0|y=427.0|size=18|text=<RText/FCOLOR=255><灵符/FCOLOR=251>>
  33.         <Button|x=642.0|y=439.0|nimg=public_new/fhjx/2.png|submitInput=1|link=@fhjx_quick,]]..win_flag..[[>
  34.         <Input|inputid=1|x=589.0|y=365.0|width=220|height=30|color=249|type=3|size=18|maxcount=14|mincount=3|isChatInput=0|place=请输入金额>
  35.     ]]
  36.    -- choose != null,说明要刷新界面
  37.     -- win_flag = tonumber(win_flag) or 0
  38.     if win_flag == 1 then
  39.     -- if getplaydef(actor, "N$窗口状态") == 1 then
  40.         msg = msg..getplaydef(actor,"S$充值界面")
  41.     end
  42.     release_print("==============",msg)
  43.     say(actor,msg)
  44. end
  45. -- 点击触发函数
  46. function fhjx_quick(actor,win_flag)
  47.     if win_flag == "1" then
  48.         MessageUtil.sendItemWanning(actor,"请先完成当前支付")
  49.         return
  50.     end
  51.     -- if getplaydef(actor, "N$窗口状态") == 1 then
  52.     -- end
  53.     local num = parsetext("<$NPCINPUT(1)>", actor)
  54.     if num == nil or num == "" or tonumber(num) <= 0 then
  55.         MessageUtil.sendItemWanning(actor,"请输入正确金额!")
  56.         return
  57.     end
  58.     -- 拉起充值界面
  59.     open_chongzhi_ui(actor, 0, num)
  60.     -- setplaydef(actor, "S$充值类型","富豪捐献")
  61.     -- -- lualib:SetVar(player, "T202", "在线充值")
  62.     -- local itemid = ItemUtil.getItemIdByName("灵符")
  63.     -- pullpay(player, num, pay_type, itemid7)
  64.     -- return fhjxshow(actor,1)
  65. end
  66. -- 局部窗口变量函数
  67. function open_chongzhi_ui(actor, choose, num)
  68.     local msg = [[
  69.         <Img|x=208.0|y=84.0|esc=0|bg=1|img=public/zxcz/zjm.png>
  70.         <Text|x=464.0|y=118.0|color=0|size=18|text=富豪捐献>
  71.         <Text|x=464.0|y=162.0|color=0|size=18|text=¥]]..num..[[>
  72.         <Text|x=464.0|y=200.0|color=22|size=18|text=¥]]..num..[[>
  73.         <Button|x=607.0|y=91.0|nimg=public_new/common/close.png|link=@fhjxshow,0>
  74.     ]]
  75.     -- local
  76.    
  77.     local zhifu_show
  78.     local zhifu_show_x = 246
  79.     choose = tonumber(choose) or 0
  80.     for i = 1, 3 do
  81.         if choose == i then
  82.             zhifu_show = zhi_fu_table[i][2]
  83.         else
  84.             zhifu_show = zhi_fu_table[i][1]
  85.         end
  86.         -- msg = msg..'<Button|x='..zhifu_show_x..'|y=301.0|color=255|size=18|nimg=public_new/common/'..zhifu_show..'|link=@update_win,'..i..'>'
  87.         msg = msg..'<Button|x='..zhifu_show_x..'|y=281.0|color=255|size=18|pimg=public_new/common/'..zhifu_show..'|nimg=public_new/common/'..zhifu_show..'|link=@open_chongzhi_ui,'..i..','..num..'>'
  88.         zhifu_show_x = zhifu_show_x + 124
  89.     end
  90.     setplaydef(actor, "S$充值界面",msg)
  91.     -- setplaydef(actor, "N$窗口状态",1)
  92.     return fhjxshow(actor, 1)
  93. end
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

农妇山泉一亩田

金牌会员
这个人很懒什么都没写!

标签云

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