hookehuyr

fix(PointsCollector): 调整积分收集动画中心点位置并优化点击区域

将动画中心点从50%调整为75%以优化视觉效果
统一积分显示区域的点击事件处理
限制随机点生成在视图顶部60%范围内
......@@ -2,9 +2,9 @@
<view class="points-collector" :style="{ height: height }">
<!-- 中心圆形显示总积分 -->
<view class="center-circle">
<view class="total-points">
<view class="total-points" @tap="handleGoToRewards">
<text class="points-number">{{ animatedTotalPoints }}分</text>
<text class="points-label" @tap="handleGoToRewards">去兑换</text>
<text class="points-label">去兑换</text>
</view>
</view>
......@@ -93,7 +93,7 @@ const generateMockData = () => {
const minX = radiusXPercent;
const maxX = 100 - radiusXPercent;
const minY = radiusXPercent + 5;
const maxY = 100 - radiusXPercent - 15;
const maxY = 60; // 限制在视图的顶部60%
do {
attempts++;
......@@ -108,7 +108,7 @@ const generateMockData = () => {
// 检查与中心禁飞区的距离
const dxCenter = x - 50;
const dyCenter = y - 50;
const dyCenter = y - 75; // 中心点在75%
const distanceFromCenter = Math.sqrt(dxCenter * dxCenter + dyCenter * dyCenter);
if (distanceFromCenter < centerNoFlyZone) {
hasCollision = true;
......@@ -157,7 +157,7 @@ const getItemStyle = (item) => {
if (item.collecting) {
style.left = '50%';
style.top = '50%';
style.top = '75%';
style.transform = 'translate(-50%, -50%) scale(0)';
style.opacity = 0;
style.zIndex = 20; // 飞向中心时置于顶层
......@@ -268,7 +268,7 @@ const handleGoToRewards = () => {
.center-circle {
position: absolute;
left: 50%;
top: 50%;
top: 75%;
transform: translate(-50%, -50%);
width: 200rpx;
height: 200rpx;
......