gpt4 book ai didi

java - 为 Java 创建精确的重力

转载 作者:行者123 更新时间:2023-12-02 06:35:51 27 4
gpt4 key购买 nike

我有一个高度为 600 像素的 View ,有 12 个框,每个框为 50 像素 x 50 像素。我创建了一个球,用户点击该球就会根据重力下落。我这样做是为了进行物理演示,并试图使其尽可能准确。目前,我正在使用的比例使用四个框(或 200 像素)作为一米。计算“y”位置的方法每秒被调用 50 次 (50 fps)。当我尝试运行包含此代码的程序时,它会延迟相当长的时间。

这是我调用来更新位置的方法:

public double calcY()
{
velocity += acceleration*200/2500;
return(getY()-velocity);
}

我乘以 200 将米转换为像素。除以 2500,因为每秒调用 50 次,所以 (50)^2 是 2500。

现在还没有偏离太多。感谢您的帮助。

最佳答案

您的计算不应与固定帧速率 Hook ,测量已过期的实时时间。 FPS 可能并且将会因您无法控制的因素而产生很大差异。

您可以使用 System.currentTimeMillis() 跟踪 calcY() 调用之间的过期时间 - 两次调用之间可能会相差几毫秒,但在多次调用中它会非常精确。

另外,上次我检查坠落加速度不是每秒一米,而是 9.81 m/s。所以你计算出的加速度似乎偏离了 9.81 倍。

编辑:再次查看您的公式,这对我来说毫无意义。

关于java - 为 Java 创建精确的重力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19665784/

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