Javascript 鼠标上的Tweening变量无效

Javascript 鼠标上的Tweening变量无效,javascript,three.js,mouseleave,tween.js,Javascript,Three.js,Mouseleave,Tween.js,我试图在mouseleave上将一个变量设置为零,但是当鼠标离开容器时,什么也没有发生 我试过各种各样的东西。我做错了什么 代码如下: function ondocumentMouseLeave ( event ){ new TWEEN.Tween( mouseY ) .to ( 0 , 500 ) .easing( TWEEN.Easing.Linear.None) .start();

我试图在mouseleave上将一个变量设置为零,但是当鼠标离开容器时,什么也没有发生

我试过各种各样的东西。我做错了什么

代码如下:

 function ondocumentMouseLeave ( event ){


            new TWEEN.Tween( mouseY )
            .to ( 0 , 500 )
            .easing( TWEEN.Easing.Linear.None)
            .start();


            new TWEEN.Tween( mouseX )
            .to ( 0 , 500)
            .easing( TWEEN.Easing.Linear.None)
            .start();
            }
以下是JSFIDLE:


如果这是一个简单的问题,我很抱歉,我对此有点陌生。

您需要使用对象,并在其属性之间进行转换,如:

function ondocumentMouseLeave ( event ) {

  var mouse = {x: mouseX, y: mouseY};

  new TWEEN.Tween( mouse ).to ( { x: 500, y: 500 }, 1000 )
    .easing( TWEEN.Easing.Linear.None )
    .onUpdate(function() {
        mouseX = this.x;
        mouseY = this.y;
    })
    .start();

}

请看一下。

谢谢!这很好用!我还有一个问题,我是否可以使用此方法在mouseenter上制作动画,或者与我当前的mousemove函数冲突?我希望在你输入帧时不会弹出,而是将其动画化到你当前的鼠标位置…我尝试将mousemove延迟到mousenter之后,但如果你移动得足够快,它仍然会弹出。我更新了你的演示,删除了tween.js,并更改了渲染方法。检查这是否是你的想法。他的作品完美无瑕。非常感谢你。我假设“+=”意味着从上次计算开始递增?你是对的。x+=新值;是:x=x+newValue的缩写;看看