gpt4 book ai didi

javascript - 奇怪的条件行为 Javascript

转载 作者:行者123 更新时间:2023-12-03 04:04:05 25 4
gpt4 key购买 nike

我有两个函数,一个计算鼠标与物体的距离,另一个计算玩家得分。当鼠标距离对象至少 200px 时开始评分,鼠标越近获得的分数越高。

function calculateMouseDistance() {
document.onmousemove = handleMouseMove;
var rect = c.getBoundingClientRect();
function handleMouseMove(e) {
mouseX = e.clientX - rect.left;
mouseY = e.clientY - rect.top;
}
mouseDistanceX = object.x - mouseX;
mouseDistanceY = object.y - mouseY;
mouseDistance = Math.round(Math.sqrt((mouseDistanceX*mouseDistanceX)+(mouseDistanceY*mouseDistanceY)));
}

function calculateScore() {
if (mouseDistance<200) {
score = Math.round(score + (mouseDistance / 100));
}
document.getElementById("tester").innerHTML = "Score: " + score + " " + "Distance: " + mouseDistance;
}

出于某种原因,当距离为 50 像素及以下时,上述结果会导致分数停止。

我尝试输出(mouseDistance<200)条件很好,在 200 像素距离处它说“真实”,只有在 200 像素以上才不再真实。

如果是这样,那么当鼠标位于 50 像素距离时,分数不应该停止更新,但它确实会停止更新:P halp

最佳答案

当距离为 50px 及以下时,添加的分数开始达到或低于 0.5。四舍五入会删除增加的分数。

假设距离为 40px,玩家的分数为 150。新分数将为 150.4(分数 + 鼠标距离/100)。但是当你四舍五入时,你会得到 150,并且分数保持不变。

关于javascript - 奇怪的条件行为 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44634805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com