Я пытаюсь анимировать вращение влево или вправо при нажатии кнопки. К сожалению, когда я нажимаю кнопку для левого вращения, она компилируется сама по себе, становясь все быстрее и быстрее. То же самое происходит при щелчке правой кнопкой мыши. Для отмены вращения требуется несколько щелчков противоположной кнопки.cancelAnimationFrame on button click не работает
Я хотел бы, чтобы левая кнопка отменила правое вращение и повернулась прямо во вращение влево и наоборот. Прямо сейчас, вы должны нажать кнопку противоположной кнопки для каждого нажатия первой кнопки.
код ниже:
var initialFrame = function() {
requestAnimationFrame(initialFrame);
renderer.render(scene, camera);
};
var rotateLeft = function() {
requestAnimationFrame(rotateLeft);
wrap.rotation.y += -0.02;
wrapBack.rotation.y += -0.02;
renderer.render(scene, camera);
};
var rotateRight = function() {
requestAnimationFrame(rotateRight);
wrap.rotation.y += 0.02;
wrapBack.rotation.y += 0.02;
renderer.render(scene, camera);
};
initialFrame()
$("#left-button").click(function() {
cancelAnimationFrame(rotateRight);
rotateLeft();
});
$("#right-button").click(function() {
cancelAnimationFrame(rotateLeft);
rotateRight();
});
Это работает бесконечно лучше, чем у меня. –