取消划过物体高亮效果
This commit is contained in:
@@ -185,17 +185,8 @@ export function useInteraction(
|
|||||||
* @param object - 要高亮的物体(null清除高亮)
|
* @param object - 要高亮的物体(null清除高亮)
|
||||||
*/
|
*/
|
||||||
const highlightHover = (object: THREE.Object3D | null) => {
|
const highlightHover = (object: THREE.Object3D | null) => {
|
||||||
if (!hoverOutlinePass) return
|
// 取消鼠标悬停高亮效果
|
||||||
|
return
|
||||||
if (object && object !== currentClickObject) {
|
|
||||||
if (currentHoverObject !== object) {
|
|
||||||
hoverOutlinePass.selectedObjects = [object]
|
|
||||||
currentHoverObject = object
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
hoverOutlinePass.selectedObjects = []
|
|
||||||
currentHoverObject = null
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -315,14 +306,8 @@ export function useInteraction(
|
|||||||
* 鼠标移动事件处理
|
* 鼠标移动事件处理
|
||||||
*/
|
*/
|
||||||
const onMouseMove = (event: MouseEvent) => {
|
const onMouseMove = (event: MouseEvent) => {
|
||||||
const intersects = getIntersects(event)
|
// 取消鼠标悬停高亮效果,不再处理鼠标移动事件
|
||||||
|
return
|
||||||
if (intersects.length > 0 && intersects[0]) {
|
|
||||||
const target = findObjectWithId(intersects[0].object)
|
|
||||||
highlightHover(target)
|
|
||||||
} else {
|
|
||||||
highlightHover(null)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ============================================================
|
// ============================================================
|
||||||
@@ -364,7 +349,8 @@ export function useInteraction(
|
|||||||
// 绑定事件
|
// 绑定事件
|
||||||
container.addEventListener('click', onClick)
|
container.addEventListener('click', onClick)
|
||||||
container.addEventListener('dblclick', onDoubleClick)
|
container.addEventListener('dblclick', onDoubleClick)
|
||||||
container.addEventListener('mousemove', onMouseMove)
|
// 取消鼠标移动事件监听,禁用悬停效果
|
||||||
|
// container.addEventListener('mousemove', onMouseMove)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -385,7 +371,8 @@ export function useInteraction(
|
|||||||
if (container) {
|
if (container) {
|
||||||
container.removeEventListener('click', onClick)
|
container.removeEventListener('click', onClick)
|
||||||
container.removeEventListener('dblclick', onDoubleClick)
|
container.removeEventListener('dblclick', onDoubleClick)
|
||||||
container.removeEventListener('mousemove', onMouseMove)
|
// 鼠标移动事件监听器已移除,无需清理
|
||||||
|
// container.removeEventListener('mousemove', onMouseMove)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user