examples: dispose OrbitControls

This commit is contained in:
Haowei Wen 2020-09-14 16:48:51 +08:00
parent f75ffb0e4c
commit c8ddc277eb
No known key found for this signature in database
GPG Key ID: 5BC167F73EA558E4
1 changed files with 9 additions and 8 deletions

View File

@ -257,7 +257,7 @@
}; };
let skinViewer; let skinViewer;
let oribitControl; let orbitControl;
let rotateAnimation; let rotateAnimation;
let primaryAnimation; let primaryAnimation;
@ -329,9 +329,9 @@
primaryAnimation.speed = e.target.value; primaryAnimation.speed = e.target.value;
} }
}); });
document.getElementById("control_rotate").addEventListener("change", e => oribitControl.enableRotate = e.target.checked); document.getElementById("control_rotate").addEventListener("change", e => orbitControl.enableRotate = e.target.checked);
document.getElementById("control_zoom").addEventListener("change", e => oribitControl.enableZoom = e.target.checked); document.getElementById("control_zoom").addEventListener("change", e => orbitControl.enableZoom = e.target.checked);
document.getElementById("control_pan").addEventListener("change", e => oribitControl.enablePan = e.target.checked); document.getElementById("control_pan").addEventListener("change", e => orbitControl.enablePan = e.target.checked);
for (const part of skinParts) { for (const part of skinParts) {
for (const layer of skinLayers) { for (const layer of skinLayers) {
document.querySelector(`#layers_table input[type="checkbox"][data-part="${part}"][data-layer="${layer}"]`) document.querySelector(`#layers_table input[type="checkbox"][data-part="${part}"][data-layer="${layer}"]`)
@ -365,6 +365,7 @@
document.getElementById("cape_url").addEventListener("change", () => reloadCape()); document.getElementById("cape_url").addEventListener("change", () => reloadCape());
document.getElementById("reset_all").addEventListener("click", () => { document.getElementById("reset_all").addEventListener("click", () => {
skinViewer.dispose(); skinViewer.dispose();
orbitControl.dispose();
initializeViewer(); initializeViewer();
}); });
} }
@ -375,7 +376,7 @@
alpha: false alpha: false
}); });
skinViewer.renderer.setClearColor(0x5a76f3); skinViewer.renderer.setClearColor(0x5a76f3);
oribitControl = skinview3d.createOrbitControls(skinViewer); orbitControl = skinview3d.createOrbitControls(skinViewer);
rotateAnimation = null; rotateAnimation = null;
primaryAnimation = null; primaryAnimation = null;
@ -391,9 +392,9 @@
primaryAnimation = skinViewer.animations.add(availableAnimations[primaryAnimationName]); primaryAnimation = skinViewer.animations.add(availableAnimations[primaryAnimationName]);
primaryAnimation.speed = document.getElementById("primary_animation_speed").value; primaryAnimation.speed = document.getElementById("primary_animation_speed").value;
} }
oribitControl.enableRotate = document.getElementById("control_rotate").checked; orbitControl.enableRotate = document.getElementById("control_rotate").checked;
oribitControl.enableZoom = document.getElementById("control_zoom").checked; orbitControl.enableZoom = document.getElementById("control_zoom").checked;
oribitControl.enablePan = document.getElementById("control_pan").checked; orbitControl.enablePan = document.getElementById("control_pan").checked;
for (const part of skinParts) { for (const part of skinParts) {
for (const layer of skinLayers) { for (const layer of skinLayers) {
skinViewer.playerObject.skin[part][layer].visible = skinViewer.playerObject.skin[part][layer].visible =