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