gpt4 book ai didi

java - 为什么这个值返回零?

转载 作者:行者123 更新时间:2023-11-30 03:59:11 25 4
gpt4 key购买 nike

我在球类中有一个方法,它具有位置、速度和加速度属性。我正在尝试创建一个基本版本的碰撞检测,其中涉及计算两个球之间的距离。我的距离有以下代码:

public float getDistance(Ball ball2)
{
float distance = (float) (Math.sqrt(Math.pow(ball2.x - x, 2) +
Math.pow(ball2.y - y, 2)));
return distance;
}

在代码的另一部分中,我重复打印该距离的值,并且不断得到零。这是为什么?

编辑:我明白了。我忘记了位置的坐标存储在 vector 对象中,因此我不应该说 ball2.x,而应该说 ball2.position.x。现在一切都计算正确并且我的程序正在运行。感谢各位的帮助!我不确定这个问题是否应该关闭或其他什么,但无论模组认为是最合适的!

最佳答案

方法不错。问题出在其他地方。

可能是ball2.x == this.xball2.y == this.y 。这可能是因为ball2this是同一个对象,或者因为您忘记初始化 xy ,或出于各种其他可能的原因。

另一种可能性是您打印出来的值不是调用 distance() 的结果,但是是其他原因(例如,由于代码中的错误)。

关于java - 为什么这个值返回零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22359226/

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