DragControl.deactivate не работает, как только я их активирую
Я прочитал другие вопросы, связанные с dragControl, но это не помогает в моей проблеме. Как только я активирую dragControl, dragControl.deactivate() больше не работает должным образом.
userInteraction = mode => {
this.dragControl = new DragControls(
this.objects,
this.camera,
this.labelRenderer.domElement
);
if (mode === "view") {
this.dragControl.deactivate();
window.addEventListener("click", this.showToolTip);
this.renderer.render(this.scene, this.camera);
this.labelRenderer.render(this.scene, this.camera);
} else if (mode === "add") {
this.dragControl.deactivate();
window.addEventListener("mousemove", this.onSensorMouseMove);
window.addEventListener("mousedown", this.onSensorMouseDown);
this.renderer.render(this.scene, this.camera);
}
else if (mode === "editing") {
this.dragControl.activate();
this.dragControl.addEventListener(
"dragend", this.DragEndCallBack
);
window.requestAnimationFrame(this.startAnimationLoop);
}
};
startAnimationLoop = () => {
this.renderer.render(this.scene, this.camera);
this.labelRenderer.render(this.scene, this.camera);
this.requestID = window.requestAnimationFrame(this.startAnimationLoop);
}
DragEndCallBack(event) {
event.object.position
.divideScalar(50)
.floor()
.multiplyScalar(50)
.addScalar(25);
}
Вы можете видеть, что режим по умолчанию - просмотр, а деактивация работает, пока я не перейду в режим "редактирование" и не вернусь обратно в режим "просмотр", dragControl все еще там.. Я уже прочитал эти 2 ссылки, но не могу их применить к моему случаю..
Как отключить DragControls в Three.js?; THREE.JS: Как я могу отключить dragControls после их активации для группы элементов?