From d29ee32f11fc748fc0cedc4f14955d7fb771d7e0 Mon Sep 17 00:00:00 2001 From: kron Date: Tue, 12 Aug 2025 10:16:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=86=E8=8A=82=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/BowTargetEdit.vue | 17 ++++++++--------- src/util.js | 20 ++++++++++++-------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/components/BowTargetEdit.vue b/src/components/BowTargetEdit.vue index befd993..337bad4 100644 --- a/src/components/BowTargetEdit.vue +++ b/src/components/BowTargetEdit.vue @@ -202,7 +202,6 @@ onMounted(async () => { {{ index + 1 }} @@ -216,8 +215,7 @@ onMounted(async () => { :x="arrow ? (rect.width * arrow.x) / scale : 0" :y="arrow ? (rect.width * arrow.y) / scale : 0" > - - + { :style="{ transform: `scale(${1 / scale})` }" > - 未上靶 - {{ arrow.ring }} - --> + {{ arrow.ring === 0 ? "M" : arrow.ring }} + @@ -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 { diff --git a/src/util.js b/src/util.js index fc6d99e..3856ef2 100644 --- a/src/util.js +++ b/src/util.js @@ -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 );