javascript - 使用 slider 更新 THREE.Mesh.position onchange 事件

标签 javascript html three.js slider onchange

大家好,我正在使用(Three.js 库)进行网格翻译。我使用 HTML slider 来更新值,以便可以使用 JavaScript 进行更改。

我的例子:

description image

这工作正常,但我不知道 slider 的事件监听器发生了什么。基本上发生的事情是该函数在 onchange 属性 中,但它看起来像 onclick 一样工作:

<input type="range" value=n; min=n; max=n; 
    onchange="set_Radius()";
>
input type="range" value=n; min=n; max=n; 
    onchange="set_Theta()";
>

要移动我使用的立方体:

animate() {
   var sphericalPos = new THREE.Spherical(get_Radius(), get_Theta(), 0);  
   cube_Mesh.position.setFromSpherical(sphericalPos);
}

问题:只有当我从 slider 上松开鼠标点击时,这才有效。例如,如果我将 slider 半径从 50 移动到 150,它只会更新 50 和 150,而不会更新两者之间的任何数字。

Q1:有什么办法可以解决上面的问题吗?

Q2:是否可以锁定立方体的面方向,使其在任意位置都可以盯着原点(比如类似OrbitController的L_Click Mouse事件)?

最佳答案

  1. 使用 oninput 事件监听器代替 onchange
  2. 使用.lookAt()将立方体面向原点的方法。

关于javascript - 使用 slider 更新 THREE.Mesh.position onchange 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54480518/

相关文章:

three.js - Three.js 中的深度组件 readRenderTargetPixels?

javascript - Three.js:加载适当的模型比例/大小

javascript - 排除子模式的正则表达式

javascript - 使用 touch-punch 插件在移动设备中使用带有文本区域的可拖动 jquery-ui-dialog

javascript - 悬停状态下的 anchor 颜色不起作用

jquery - 如何操作用户滚动?

php - 需要对多级缓存场景有一定的了解

javascript - Youtube API 视频有时无法在 IE 11 中加载

javascript - HTML 按钮不调用函数

javascript - Three.js - BufferGeometry - 更改每条线的颜色