相关文章
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://nhjcxspj.xhstdz.com/news/11512.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://nhjcxspj.xhstdz.com/mobile/ , 查看更多   
最新文章
深入比较Z-Blog与Typecho:哪款博客系统更适合你?
三、功能比较Z-Blog提供了丰富的功能,包括SEO优化、主题和插件支持等,用户可以根据需求进行个性化设置。其较强的插件库支持使
【优化求解】遗传算法求解岛屿物资补给优化问题【含Matlab源码 172期】
🚅座右铭:行百里者,半于九十。 🏆代码获取方式: CSDN Matlab武动乾坤—代码获取方式 更多Ma
竞争优势利器:利用推广排名优化碾压同行,脱颖而出
在竞争激烈的市场环境中,企业想要脱颖而出,获得竞争优势,至关重要。推广排名优化正是数字化时代下帮助企业实现这一目标的重要
药师解药 | 妊娠期胰岛素过敏怎么办,教你几招来应对!
据相关研究统计,胰岛素和胰岛素类似物在治疗中出现过敏反应的概率为0.1%到7.1%不等,注射部位反应发生率约为1.4%。胰岛素过敏原
圣邦微最新动态与技术发展,深度解析与SEO优化文章,圣邦微最新动态与技术发展深度解析及SEO优化攻略
本文关注圣邦微的最新动态与技术发展,提供深度解析并针对SEO优化。文章将详细介绍圣邦微的最新技术进展、产品更新以及市场策略
成品网站1.1.719:如何高效搭建企业与个人网站,提升用户体验与功能性能
成品网站1.1.719是一个针对网站开发和建站需求的产品版本,它为企业和个人用户提供了一个简单易用的解决方案,帮助他们快速搭建
文心一言APP无法连接网络
文心一言APP无法连接网络许多用户反映,他们所喜爱的文心一言APP无法连接网络。这款APP以其精选的古代文言文名句和现代文学名篇
谷歌收录秘籍:揭秘提交入口网址
谷歌收录提交入口:专业指南与重要性解析在当今数字化时代,互联网已成为信息传播与商业活动的重要平台对于网站运营者而言,确保
浅探webpack优化
由于前端的快速发展,相关工具的发展速度也是相当迅猛,各大框架例如vue,react都有自己优秀的脚手架工具来帮助我们
百度收录平台排名 揭秘百度收录平台排名,优化策略助你领跑新媒体
在当今这个信息爆炸的时代,互联网已成为企业展示自我、吸引客户、拓展市场不可或缺的重要渠道而在浩瀚的网络海洋中,如何让自己
相关文章