javascript - Three.js 动画控件

  显示原文与译文双语对照的内容
0 0

将动画导入 three.js. 我想使用垂直 slider 条"id=#roof_angle"控制动画。 因此,如果我将 slider 向上/向下拖动,则向前/向后移动。 在第一个 run.I 上所有的工作都可以向上和向下。 如果我播放一段时间,我的动画开始想念我的栏位。 怎么修复我错过了什么? 动画有 90帧,我的条形图高度为 504像素。

我的代码


function onDocumentMouseDownY( event ) {
 document.addEventListener( 'mousemove', onDocumentMouseMoveY, false );
 last_positionY = event.clientY; 
}
function onDocumentMouseMoveY( event ) {
 delta_mouseY = last_positionY - event.clientY;
 roofAngle = $("#roof_angle" ).slider("option","value")
if(delta_mouseY> = 1){
 if(roofAngle> = 0 && roofAngle <90 ){
 roofAngle ++;
 animation.update(1/24*(90/504)*delta_mouseY);
 }
}
 else{ 
 if(roofAngle> 0){
 animation.update(1/24*(90/504)*delta_mouseY);
 roofAngle --;
 }
 }
 last_positionY = event.clientY;

%7D

时间: 原作者:

0 0

所以,我解决了在"动画。currenttime"中添加一些条件的问题,它的中我的动画长度为 3.75. 但它不回答为什么我的动画增量时间浮动。


function onDocumentMouseMoveY( event ) {
 delta_mouseY = last_positionY - event.clientY;
 roofAngle = $("#roof_angle" ).slider("option","value")
 timeFrameDelta = 1/24*(90/504)*delta_mouseY;


 if(delta_mouseY> = 1){
 if(roofAngle> = 0 && roofAngle <90 && animation.currentTime+timeFrameDelta <3.75){
 roofAngle ++;
 animation.update(timeFrameDelta);
 }
 }
 if(delta_mouseY <0){
 if (animation.currentTime <0){
 animation.currentTime = 0;
 }
 if(roofAngle> 0){
 animation.update(timeFrameDelta);
 roofAngle --;
 }
 }

 last_positionY = event.clientY;
 }

如果有人知道更好的方法,请给我一些。

原作者:
...