feat: 更新场景和组件,优化用户体验
- 更新多个场景中的引导对话,提升学习互动性。 - 修改组件以清理不必要的学习引导弹窗,简化用户流程。 - 调整文本内容,确保信息准确性和一致性。 - 添加背景音乐控制,增强沉浸式体验。
This commit is contained in:
1 parent
d226283e15
commit
71f607f6a3
46 files changed
+423
-372
No files matched your search
@@ -372,6 +372,28 @@ const ExhibitOverlay = ({
|
||||
// 指针抬起
|
||||
const handlePointerUp = useCallback(
|
||||
(e: React.PointerEvent<HTMLDivElement>) => {
|
||||
const dragStart = dragStartRef.current;
|
||||
|
||||
// 检测是否是点击(移动距离很小)
|
||||
if (dragStart && dragStart.pointerId === e.pointerId && onClick) {
|
||||
// 计算从按下到抬起的移动距离
|
||||
const dx = e.clientX - dragStart.startX;
|
||||
const dy = e.clientY - dragStart.startY;
|
||||
const distance = Math.hypot(dx, dy);
|
||||
// 如果移动距离小于 5px,认为是点击而不是拖拽
|
||||
if (distance < 5) {
|
||||
// 检查 transform 是否改变,如果改变了说明是拖拽
|
||||
const transformChanged =
|
||||
Math.abs(transformRef.current.x - dragStart.startTransform.x) >
|
||||
0.1 ||
|
||||
Math.abs(transformRef.current.y - dragStart.startTransform.y) > 0.1;
|
||||
|
||||
if (!transformChanged) {
|
||||
onClick();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 释放指针捕获
|
||||
if (containerRef.current) {
|
||||
try {
|
||||
@@ -405,7 +427,7 @@ const ExhibitOverlay = ({
|
||||
|
||||
setIsDragging(pointers.current.size > 0);
|
||||
},
|
||||
[]
|
||||
[onClick]
|
||||
);
|
||||
|
||||
// 双击重置
|
||||
@@ -541,7 +563,6 @@ const ExhibitOverlay = ({
|
||||
WebkitPerspective: "1000",
|
||||
perspective: "1000",
|
||||
}}
|
||||
onClick={onClick}
|
||||
>
|
||||
<Image
|
||||
src={exhibitSrc}
|
||||
|
||||
Reference in new issue
Block a user