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 после их активации для группы элементов?

0 ответов

Другие вопросы по тегам