推广 热搜: 行业  设备    参数  系统  经纪    教师  机械  中国 

lil-gui 界面库的基本用法

   日期:2024-12-15     作者:chunguang    caijiyuan   评论:0    移动:http://yejunbin01.xhstdz.com/mobile/news/11512.html
核心提示:是一个可以在运行时修改 JavaScript 对象属性的界面库。相信用过的同学对它一定不会陌生,three.js 的很多示例都用到了这

是一个可以在运行时修改 Javascript 对象属性的界面库。相信用过 的同学对它一定不会陌生,three.js 的很多示例都用到了这个轻量的界面库修改三维场景的属性。我也是因为接触到 three.js 才打算学习一下这个库的。

下面通过一组例子总结 lil-gui 的基本用法

用这个库之前,需要实例化它的对象

 
 
 
 

上面的例子用到了 gui.add 方法,该方法的函数签名如下所示

gui.add(object, property, [$1], [max], [step])

             object: 目标对象

             property:目标对象上要修改的属性

             $1:数值属性的最小值或可选值列表

             max: 数值属性的最大值

             step:数值属性的步进

lil-gui 会根据要修改属性的数据类型选择合适的界面控件,主要数据类型对应的控件

  • 布尔值:checkbox
  • 字符串:text field
  • 数值:number field
  • 函数:button

 

同时设置数值的最大值和最小值,lil-gui会提供一个滑块

 

下拉列表中的可选值可以用数组或者对象组织。用对象组织时,界面上显示的是对象中的键值。

 

lil-gui 可以识别 CSS字符串 或 十六进制 数值表示的颜色,通过  addColor() 方法创建颜色选择器

 

可以通过 对象 或 数组 两种形式指定颜色初始值

 

默认颜色分量在 [ 0, 1 ] 区间内,可以设置 addColor 方法的第三个参数将颜色分量扩展到 [ 0, 255 ]

 

 addColor 方法的函数签名如下所示

addColor( object, property, rgbScale=1 )

        object:目标对象

        property:目标对象中作为颜色的属性名称

        rgbScale:颜色通道的最大值,默认为1

 

在界面上,将 obj 对象的 x、y、z 属性在界面上组织成名称为 Position 的可折叠分组

有两种属性变化监听事件:onChange 和 onFinishChange 。它们的区别是 onChange 修改立即触发;onFinishChange 修改并失去焦点后触发。

onChange :

 

onFinishChange :

 

除了针对对象上具体属性的监听方式外,lil-gui 还提供全局的监听方式。任何属性的变化都会触发它们。

全局 onChange :

 

全局 onFinishChange :

 

通过界面外的方式修改了属性值,lil-gui并不会做出响应。这时可以用 listen 方法监听属性值在界面外的变化,并在界面上更新

 

gui.save 将当前界面上的属性值保存到一个对象中,以 JSON 对象的形式存储

 

界面上有相同的属性名时,用 gui.save 会报名称冲突的错误。这时可以用 name 方法改名可以避免这个问题

 
 
 

默认情况下面板是位于页面右上角的,实际应用中可能由于界面元素冲突需要调整面板的位置。

在实例化的时候设置 autoPlace 属性为 false,然后指定 CSS 进行修改即可

本文地址:http://yejunbin01.xhstdz.com/news/11512.html    物流园资讯网 http://yejunbin01.xhstdz.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新文章
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新文章
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号