0
我想要正確停止Three.js動畫,以便之後執行某個功能。在Three.js中取消動畫
這是我的代碼:
var anim;
function animate() {
anim = requestAnimationFrame(animate);
checkRotation();
renderer.render(scene, camera);
setTimeout(cancel, 10000);
}
function cancel() {
cancelAnimationFrame(anim);
finalCoords();
}
animate();
被放在這樣,動畫checkRotation()
確實停止,但功能finalCoords()
,如果它是被困在某種遞歸的不斷循環。
我也試過這樣:
var anim;
function animate(anima) {
anima = requestAnimationFrame(animate);
checkRotation();
renderer.render(scene, camera);
}
function cancel(anima) {
cancelAnimationFrame(anima);
finalCoords();
}
animate(anim);
setTimeout(cancel(anim), 10000);
現在的循環停止,但功能finalCoords()
不返回正確的結果和動畫不會停止。
我做錯了什麼?我該如何解決它?
謝謝!