• dat.GUI


    dat.GUI 是一个轻量级的图形用户界面库(GUI 组件),使用这个库可以很容易地创建出能够改变代码变量的界面组件。

    使用步骤

    (1)首先在页面的 <head> 标签中添加这个库。

    <script type="text/javascript" src="../libs/dat.gui.js"></script>

    (2)定义一个 JavaScript 对象(这里假设叫做 controls),该对象将保存希望通过 dat.GUI 改变的属性。

    var controls = new function () {
        this.rotationSpeed = 0.02;
        //......
    };

    (3)接下来需要将这个 JavaScript 对象传递给 dat.gui 对象,并设置各个属性的取值范围。

    var gui = new dat.GUI();
    gui.add(controls, 'rotationSpeed', 0, 0.5);
    //......

    (4)最后当用户对 dat.GUI 控件进行操作时,controls 里的属性值也会同步修改。我们在程序中直接引用这个属性值就好了。

    demo

    1. //+++++++++++++++++++++++++++++++++++++++++++++++++++++++初始化gui++++++++++++++++++++++++++++++++++++++++++++
    2. var gui = new dat.GUI();
    3. gui.add(cube.position, "x")
    4. .min(0)
    5. .max(5)
    6. .step(0.01)
    7. .name("移动x轴坐标")
    8. .onChange(value => {
    9. console.log('被修改后的值:', value)
    10. })
    11. .onFinishChange(value => {
    12. console.log('完全停下出发', value)
    13. })
    14. //+++++++++++++++++修改物体颜色++++++++++++++
    15. const params = {
    16. color: '#ffff00',
    17. fn: () => {
    18. //让物体运动起来
    19. gsap.to(cube.position, { x: 5, duration: 5, yoyo: true, repeat: -1 })
    20. }
    21. }
    22. gui.addColor(params, "color")
    23. .onChange(value => {
    24. console.log('被修改后的值:', value)
    25. cube.material.color.set(value)
    26. })
    27. //+++++++++++++++++++++是否显示 选项框++++++++++++++++
    28. gui.add(cube, "visible").name('是否显示')
    29. //+++++++++++设置按钮触发事件++++++++++++++++++++++++++
    30. gui.add(params, 'fn').name('点击立方体运动')
    31. //+++++++++++++++++把配置放在某一个文件夹下+++++++++++++++++++++
    32. var folder = gui.addFolder("设置立方体")//文件夹名
    33. //把设置都放在文件夹下面
    34. folder.add(cube.material, 'wireframe')//只显示线框

  • 相关阅读:
    00Hadoop数据仓库平台
    Java栈和队列的实现
    【C++基础】9. 数组
    PostgreSQL DBA快速入门-通过源码编译安装
    关于2023年的裸辞对话
    [Java] Lock(锁)的tryLock失败是否需要unlock?
    Jmeter性能测试之分布式压测
    Java基于SSM+Vue的平时成绩管理系统
    Ubuntu下运行adb devices找不到设备的问题
    ASF HyP3 Python接口使用教程
  • 原文地址:https://blog.csdn.net/yuzheh521/article/details/125529795