admin 发表于 2021-5-17 12:18:46

Loader 资源加载的使用

由于服务器带宽都比较小 所以从gmsv中加载图片再发送给客户端 是不现实的 (参考 链接)
所以我们增加了 new.www 用来加载 网络 http/https 资源

使用方法:1 可以用 new.www 出对象 其中参数分别是
参数一: 图片所在的网站路径 如 http://ga-image-web.gitee.io/mjcs/CG2000015.bmp 只需填写http://ga-image-web.gitee.io/mjcs/
参数二: 文件下载到的本地路径 如下代码则为 您的客户端目录的image文件夹下

2 在创建bmpbttton时 请用 Loader.Uget 来异步加载
3 在事件中更换图片时 请使用 Loader.Uwait 来异步加载

function Myrw_init(view)
    if view.IsInit then         
                Loader = new.www( "http://ga-image-web.gitee.io/mjcs/" , "image\\")
                view.add(new.bmpbutton("await.change",Loader.Uget("CG2000015.bmp")));                  
                return;
    end

    local object = view.find("await.change");
    object.enable = 1;
    object.xpos = 130;
    object.ypos = 60;
    object.event = function(object,event)
                        if event == Cevent.click then                                                               
                              <?
                              function unsafe.sayhello(player,tbl)                        
                                        NLG.SystemMessage(player,tostring(tbl))                              
                              end      
                              ?>                              
                              unsafe.sayhello({"早安,熊弟弟"})
                                                
                              <?
                              function unsafe.changeMetamo(player,tbl)
                                        local metamoid = tonumber(tbl)
                                        Char.SetData(player,%对象_形象%,metamoid);
                                        Char.SetData(player,%对象_原形%,metamoid);
                                        Char.SetData(player,%对象_原始图档%,metamoid);
                                        NLG.UpChar(player);
                                        return {'已经变身成['..metamoid.."] 真漂亮,快给大家看看吧!!"}                              
                              end      
                              ?>
                              local ret = unsafe.changeMetamo({104870});
                              Cli.SysMessage(tostring(ret),4,3);      
                                       
                        end
                        
                        if event == Cevent.mouseover then
                              object.id =Loader.Uwait("CG2000017.bmp")
                        end      
      end
end
<?
function Client.ShowView(player,id,func)      
      Client.WaitABRunScript(player,"new.ShowView("..id..","..func..")");
end

function Event.RegTalkEvent.Test(player,msg,color,font)
      if msg == '/0' then
                Client.RunABundle(player,'test.lua')
                Client.ShowView(player,501,"Myrw_init")
      end
end
?>


yangxudou 发表于 2022-3-3 18:42:41

谢谢大佬的辛勤努力,多谢分享。
页: [1]
查看完整版本: Loader 资源加载的使用