meta data for this page
📚 NativeMenu
NativeMenu是一个轻量的基础UI系统,可供开发者快速实现基础菜单GUI。
NativeMenu是特殊的UI形式,支持以World端直接为某个玩家建立一个UI并绑定事件(而不需要客户端写多余的代码),同时也支持Client端正常独立使用。
注意:NativeMenu属于世界场景实例,加载新场景时将会自动销毁。
📒 使用方式
let view = { Cover: 0, Tag: "Test", Title: "XXX", Info: "ABC", Width: 500, Align: 1, Layout: 1, Hotkey: true, Items: [ { Text: "点击:输出玩家Name", OnClick: () => { DLog("PlayerName: " + player.Name); } },{ Input: "xxx", Restrict: "*", OnFocus: (text) => { DLog("输入框文本: " + text); } } ] }; Client.NativeMenu.Create(view); //Destroy Client.NativeMenu.Destroy();
📒 传递数据解析
使用NativeMenu的方法十分简单,只需要按规范自定义一个JavaScript的对象结构,就可以实现一个轻量级菜单的UI效果。
let view = { Cover: 0, //顶部图片,可空,否则填写一个Store/Sprite图片ID Tag: "Test", //识别标签,可空,无实际作用,主要用于检测\分辨 Title: "XXX", //顶部标题文本 Info: "ABC", //顶部子标题文本 Width: 500, //宽度,可空(默认360) Align: 1, //对齐方向(0左;1中;2右) Layout: 1, //窗口布局方向,相对于屏幕(0左;1中;2右) Hotkey: true, //是否启用快捷键 Items: [ //在此数组填写【Item项目数据】 { Tag: "Test1", //可空,主要用于SetNativeMenuText等情况查询使用 Text: "文本标题", //由于是Text,所以表示标签文本 Info: "介绍XXX", //可空,如填写则表示【鼠标悬停焦点】时,将此段内容更换至【菜单子标题】,失去焦点时恢复默认窗口子标题 OnClick: () => { //当被点击事件 DLog("PlayerName: " + player.Name); } },{ Input: "输入内容", //由于是Input,所以表示可输入内容的文本 Restrict: "*", //可空,如为"*"表示密码输入,否则将以正则表达式限制输入 OnFocus: (text) => { //当被修改后失去焦点事件(回车) DLog("输入框文本: " + text); } } ] }; Client.NativeMenu.Create(view);
