This commit is contained in:
kron
2025-08-21 11:39:40 +08:00
parent 2dd3ea05a4
commit 529a09da3e
2 changed files with 31 additions and 28 deletions

View File

@@ -83,7 +83,7 @@ onUnmounted(() => {
<text v-else>请调整站位</text> <text v-else>请调整站位</text>
</block> </block>
<block v-else> <block v-else>
<text>请射箭测试站距</text> <text>请射箭测试站距</text>
</block> </block>
</view> </view>
<!-- <view class="debug-text">{{ debugInfo }}</view> --> <!-- <view class="debug-text">{{ debugInfo }}</view> -->

View File

@@ -380,26 +380,31 @@ const calcHalfBowTarget = (x, y, diameter, noX = false) => {
}; };
export const calcTripleBowTarget = (x, y, diameter, noX = false) => { export const calcTripleBowTarget = (x, y, diameter, noX = false) => {
const side = diameter * 0.319; const side = diameter * 0.324;
if (x / diameter >= 0.312) { if (x / diameter >= 0.316) {
if (y / diameter >= 0.65) { if (y / diameter >= 0.654) {
return calcHalfBowTarget(
x - diameter * 0.344,
y - diameter * 0.684,
side,
noX
);
}
if (y / diameter >= 0.31) {
return calcHalfBowTarget( return calcHalfBowTarget(
x - diameter * 0.342, x - diameter * 0.342,
y - diameter * 0.344, y - diameter * 0.68,
side, side,
noX noX
); );
} }
if (y / diameter >= -0.025) { if (y / diameter >= 0.313) {
return calcHalfBowTarget(x - diameter * 0.342, y, side, noX); return calcHalfBowTarget(
x - diameter * 0.342,
y - diameter * 0.34,
side,
noX
);
}
if (y / diameter >= -0.023) {
return calcHalfBowTarget(
x - diameter * 0.342,
y - diameter * 0.005,
side,
noX
);
} }
} }
return 0; return 0;
@@ -407,26 +412,24 @@ export const calcTripleBowTarget = (x, y, diameter, noX = false) => {
export const calcPinBowTarget = (x, y, diameter, noX = false) => { export const calcPinBowTarget = (x, y, diameter, noX = false) => {
const side = diameter * 0.484; const side = diameter * 0.484;
if (x / diameter >= 0.488 && y / diameter >= 0.456) { let r1 = 0;
return calcHalfBowTarget( let r2 = 0;
x - diameter * 0.523, let r3 = 0;
y - diameter * 0.486,
side,
noX
);
}
if (x / diameter >= -0.03 && y / diameter >= 0.456) {
return calcHalfBowTarget(x, y - diameter * 0.486, side, noX);
}
if (x / diameter >= 0.23 && y / diameter >= 0.005) { if (x / diameter >= 0.23 && y / diameter >= 0.005) {
return calcHalfBowTarget( r1 = calcHalfBowTarget(
x - diameter * 0.26, x - diameter * 0.26,
y - diameter * 0.0345, y - diameter * 0.0345,
side, side,
noX noX
); );
} }
return 0; if (x / diameter >= -0.03 && y / diameter >= 0.456) {
r2 = calcHalfBowTarget(x, y - diameter * 0.486, side, noX);
}
if (x / diameter >= 0.49 && y / diameter >= 0.456) {
r3 = calcHalfBowTarget(x - diameter * 0.52, y - diameter * 0.49, side, noX);
}
return r1 || r2 || r3;
}; };
export const calcRing = (bowtargetId, x, y, diameter) => { export const calcRing = (bowtargetId, x, y, diameter) => {