admin 发表于 2021-11-18 03:22:11

教程1 基础控件 image 创建



--本代码支持二建端直接执行看效果
--以下代码可以实时在浏览器中编辑修改 并执行查看效果

TESTLoader = new.www('http://bbs.ml30.com/gacenter/Iselect/')
-- 创建一个窗口
cc.view =
{   
    title = 'Itest1';--窗口名
    xpos = 120; ypos = 200; --初始坐标
    sizex = 504; sizey = 327; pxpos = 504; pypos = 50;--窗口大小/可拖动区域坐标X(0~504) Y(0~50)

    on_init= function(view)    --当窗口初始化

    end;
    on_load= function(view)    --当窗口开始创建

    end;
};

-- 放一个bmp的背景板
cc.bmpbutton =
{
      args = { TESTLoader.Uget('bg2.bmp') };         --控件的图档
      title = 'bg';                --控件名
      xpos = 0; ypos = 0;          --注意:这里的坐标是相对坐标 以view的坐标为基准 即屏幕坐标=view坐标+本控件坐标
      on_load = function(object)         

      end;
      on_event = function(object)
            object.id = TESTLoader.Uwait('bg2.bmp')
      end;
};

-- 放一个关闭按钮 这是一个封装好的按钮
cc.closebutton =
{
      title = 'Iclose';
      xpos = 461; ypos = 9;
      event = function ( object )--当玩家点击关闭按钮时会触发event事件 返回1允许关闭 返回0不允许
                Audio.Bell(54,320)
                return 1;
      end
};

-- 测试图档按钮
cc.image =
{
      title = 'await.Iimage1';--如果你需要在事件中直接调用服务端代码 请使用await.name给控件命名
      realXY = true;            --是否修正XY正确摆放位置(3.1之前写的脚本请不要写这个参数 否则会错乱)
      xpos = 370; ypos = 160;--注意:这里的坐标是相对坐标 以view的坐标为基准
      imageID = 243048;       --image的ID

      on_lclick = function(object) -- image的所有事件
                --Cli.SysMessage( '左键被单击' ,4,3)               
                --可以在脚本任意位置以以下格式 < ?    ? > 来书写服务端代码 并且由客户端调用
                --需要注意的是
                --1)被调用的函数必须是在unsafe类下
                --2)参数为客户端传过来的 请做安全检查
                <?
                     function unsafe.changeMetamo(player,selected)
                        if selected > 100010 and selected < 100000 then
                              --安全检查 非法数据
                              return false;
                        end
                        Char.SetData(player,%对象_形象%,selected);
                        Char.SetData(player,%对象_原形%,selected);
                        Char.SetData(player,%对象_原始图档%,selected);
                        NLG.UpChar(player);
                        return true,selected
                      end
                ?>
                -- 客户端直接调用 并取得返回值
                math.randomseed(tostring(os.time()):reverse():sub(1, 7))         
                local ok,selected = await.unsafe.changeMetamo(100000 + math.random(0,10))
                if ok then
                     Cli.SysMessage( '已变身成为[' .. selected .. '] 快来看看吧.' ,4,3)
                end

      end;

      on_rclick = function(object)
                Cli.SysMessage( '右键被单击' ,4,3)
      end;

      on_dlclick = function(object)
                Cli.SysMessage( '左键被双击' ,4,3)
      end;

      on_drclick = function(object)
                Cli.SysMessage( '右键被双击' ,4,3)
      end;

      on_mousein = function(object)
                Cli.SysMessage( '滑鼠进入' ,4,3)
                object.imageID = 243050
      end;

      on_mouseout = function(object)
                Cli.SysMessage( '滑鼠退出' ,4,3)
                object.imageID = 243048
      end;

      on_event = function(object,event)

      end;
};
<?
function gacenter.finish(player)
      NLG.SystemMessage(player,"[提示] 测试脚本执行完成.")      

      Client.RunABundle(player,'__WEBFILE__')      
      Client.Show(player,'Itest1')
      
end
?>








页: [1]
查看完整版本: 教程1 基础控件 image 创建