首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用cancelAnimationFrame停止旋转?

如何用cancelAnimationFrame停止旋转?
EN

Stack Overflow用户
提问于 2017-06-04 17:30:33
回答 1查看 173关注 0票数 0

我目前使用的是三个am和requestAnimationFrame方法。我试图通过按住按钮将相机旋转到右边。我的问题是,通过释放按钮,旋转不会停止,每次我再次按下按钮时,旋转速度就会加快。

HTML:

代码语言:javascript
复制
<button id="right" onmousedown="rotateRight()" onmouseup="rotatestopRight()">Right</button> 

JavaScript:

代码语言:javascript
复制
function rotateRight(){
    mainPivot.add(camera);
    mainPivot.rotation.y+=Math.PI/180;
    requestAnimationFrame( rotateRight );
}

function rotatestopRight(){
    cancelAnimationFrame( rotateRight );
}

我试图通过发布mainPivot.rotation.y-=Math.PI/180;来解决这个问题,但这并不是最好的解决方案,因为onmouseup事件很容易被绕过。知道怎么走吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-04 22:45:34

你不正确地使用它。requestAnimationFrame返回您在调用cancelAnimationFrame时使用的id。

代码语言:javascript
复制
var id = requestAnimationFrame();

...

cancelAnimationFrame( id );
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44356914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档