Сообщение от voraa
|
На чем? (с threejs я не работал)
Что "такое"?
|
"Такое" - очередь как в промисах.
На обычном JS, как пример ваш код для цикличной анимации:
let tbeg;
let tlast;
function animate(t) {
tbeg ??= t;
tlast ?? = t
const dtbeg = t - tbeg; // прошло от начала анимации
const dtlast = t - tlast; // прошло от прошлой анимации
render(); // расчет и внесение изменений с учетом dtbeg и/или dtlast
tlast = t;
if (какое то условие окончания) return; // Завершить анимацию?
requestAnimationFrame(animate);
}
function render() {
// код для анимации каких ни будь элементов
}
animate(performance.now())
Понятное дело мы можем запускать его только когда нужна анимация. Но давайте предположи что его нельзя прервать (так работает threejs), как бы вы тогда добавили подобную (как в промисах) очередь?