Javascript 鼠标上的Tweening变量无效
我试图在mouseleave上将一个变量设置为零,但是当鼠标离开容器时,什么也没有发生 我试过各种各样的东西。我做错了什么 代码如下: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();
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的缩写;看看