细节优化

This commit is contained in:
kron
2025-08-12 10:16:11 +08:00
parent 6e61f079e8
commit d29ee32f11
2 changed files with 20 additions and 17 deletions

View File

@@ -202,7 +202,6 @@ onMounted(async () => {
<view
v-if="arrow.x !== undefined && arrow.y !== undefined"
class="point"
:style="{ transform: `scale(${1 / scale})` }"
>
<text>{{ index + 1 }}</text>
</view>
@@ -216,8 +215,7 @@ onMounted(async () => {
:x="arrow ? (rect.width * arrow.x) / scale : 0"
:y="arrow ? (rect.width * arrow.y) / scale : 0"
>
<view class="point" :style="{ transform: `scale(${1 / scale})` }">
</view>
<view class="point"> </view>
<view
v-if="arrow"
class="edit-buttons"
@@ -225,18 +223,18 @@ onMounted(async () => {
:style="{ transform: `scale(${1 / scale})` }"
>
<view class="edit-btn-text">
<text v-if="arrow.ring === 0" :style="{ width: '100%' }"
<!-- <text v-if="arrow.ring === 0" :style="{ width: '100%' }"
>未上靶</text
>
<text v-if="arrow.ring !== 0">{{ arrow.ring }}</text>
<text
> -->
<text>{{ arrow.ring === 0 ? "M" : arrow.ring }}</text>
<!-- <text
v-if="arrow.ring > 0"
:style="{
fontSize: '16px',
marginLeft: '2px',
}"
></text
>
> -->
</view>
<view class="edit-btn confirm-btn" @touchstart.stop="confirmAdd">
<image src="../static/arrow-edit-save.png" mode="widthFix" />
@@ -325,7 +323,8 @@ onMounted(async () => {
.edit-btn-text {
width: 100%;
display: flex;
justify-content: center;
/* justify-content: center; */
margin-left: 10px;
}
.edit-btn-text > text {

View File

@@ -324,7 +324,10 @@ const calcNormalBowTarget = (x, y, diameter) => {
const targetRadius = diameter / 2;
// 计算相对距离0-1之间
const relativeDistance = distance / targetRadius;
let relativeDistance = distance / targetRadius;
relativeDistance -= 0.005;
// 全环靶有10个环每个环占半径的10%
// 从外到内1环到10环
// 距离越近靶心,环数越高
@@ -366,7 +369,8 @@ const calcHalfBowTarget = (x, y, diameter, noX = false) => {
const targetRadius = diameter / 2;
// 计算相对距离0-1之间
const relativeDistance = distance / targetRadius;
let relativeDistance = distance / targetRadius;
relativeDistance -= 0.004;
if (relativeDistance <= 0.1) return noX ? 10 : "X";
if (relativeDistance <= 0.2) return noX ? 9 : 10;
if (relativeDistance <= 0.4) return 9;
@@ -378,7 +382,7 @@ const calcHalfBowTarget = (x, y, diameter, noX = false) => {
};
export const calcTripleBowTarget = (x, y, diameter, noX = false) => {
const side = diameter * 0.325;
const side = diameter * 0.324;
if (x / diameter >= 0.306) {
if (y / diameter >= 0.64) {
return calcHalfBowTarget(
@@ -404,22 +408,22 @@ export const calcTripleBowTarget = (x, y, diameter, noX = false) => {
};
export const calcPinBowTarget = (x, y, diameter, noX = false) => {
const side = diameter * 0.484;
const side = diameter * 0.482;
if (x / diameter >= 0.488 && y / diameter >= 0.456) {
return calcHalfBowTarget(
x - diameter * 0.52,
y - diameter * 0.484,
x - diameter * 0.527,
y - diameter * 0.486,
side,
noX
);
}
if (x / diameter >= -0.03 && y / diameter >= 0.456) {
return calcHalfBowTarget(x, y - diameter * 0.484, side, noX);
return calcHalfBowTarget(x, y - diameter * 0.486, side, noX);
}
if (x / diameter >= 0.23 && y / diameter >= 0.005) {
return calcHalfBowTarget(
x - diameter * 0.26,
y - diameter * 0.036,
y - diameter * 0.0345,
side,
noX
);