相关文章
lil-gui 界面库的基本用法
2024-12-15 00:26

是一个可以在运行时修改 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 进行修改即可

    以上就是本篇文章【lil-gui 界面库的基本用法】的全部内容了,欢迎阅览 ! 文章地址:http://mip.xhstdz.com/news/11512.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://mip.xhstdz.com/mobile/ , 查看更多   
最新文章
做seo为什么要从白帽seo做起
本人十三君跟着师父十二君做seo也有些时间了,从接触seo以来,发现一个有趣的现象:很多做seo的人员,尤其是新人总想着玩黑帽与
企业工信部备案提交教程(电子化备案)
一、教程目的 本教程主要针对首次备案过程中所需基本信息的填写说明。 (非经营性网站:只要是通过第三方支付࿰
伊金霍洛网站排名优化费用是如何计算的?
伊金霍洛网站seo优化百度搜索引擎关键词快速排名推广提升自然流量点击SEO优化师、网站设计师、梦想者您的流量获取专家“创新互联
【R9s(全网通)搜狗手机输入法下载】OPPO R9s 全网通搜狗手机输入法12.1.1免费下载
搜狗输入法,拥有超大中文词库,输入更加精准,智能。搜狗智能旺仔带你用表达,斗图,妙语,输入更加有趣。******特色功能******
57、曾正忠三部曲 《变化球 Breaking Ball》《迟来的决战 The Last Battle》《无胆狗雄 TATAMI》
水平有限,还望轻喷。\\\ ( 'ω' ) //// 相较去年,重心从挑选top10变成了尽量多列举一些作品,所以今年提及的漫画数量比较
微信公众号及服务号文章爬取
使用Python爬取公众号文章主要两种方法:通过爬取第三方公众号聚合网站通过微信公众平台引用文章接口微信传送门已被封杀,现存可
人工智能板块震荡:投资者应关注AI ETF与软件ETF动态
随着科技的不断发展,人工智能(AI)领域的投资持续引发市场的关注。根据最新市场数据,截至今日收盘,中证人工智能主题指数上涨
男科专题:宁波市男科医院排名更新,宁波普仁男科医院怎么样
男科专题:宁波市男科医院排名更新,宁波普仁男科医院怎么样?男科疾病常常困扰着男性的生活与工作,影响着他们的身心健康。因此
品牌升级前必须思考的5个关键问题
重塑品牌事关重大,改变现有的品牌名称或形象可能会非常冒险。但同时,品牌形象升级也可能恰恰是治愈品牌病痛的不二良方。当企业
城口SEO优化神器,企业线上崛起的利器揭秘
城口SEO优化推广软件,为企业线上崛起提供强劲助力。通过精准关键词优化、网站结构优化等手段,提升网站在搜索引擎排名,吸引潜
相关文章