在 Jbox2D 程序上工作,我创建了 2 个对象,一个 (0,10) 米和 10 米宽和 1 米宽的矩形,以及一个半径为 0.5f 米的 (1,0) 球
//in RectangleObject Class
PolygonShape cs = new PolygonShape();
cs.setAsBox(width, height);
//In CircleObject Class
CircleShape cs = new CircleShape();
cs.m_radius = radius;
当我的程序运行时,球向平台移动并像我预期的那样击中矩形,但我得到的数字不是我预期的
BallX[0] : 1
BallY[0] : 7.9964995
RectX[0] : 1
RectY[0] : 10
如果 X 和 Y 是从球的中心计算的,那么在 Y = 9.5 处,球应该离盒子只有 0.5 的距离。即使它使用直径,它仍然应该在 Y = 9 处最多 1 米远。
任何人都知道为什么当半径只有 0.5 时它计算 Y 距离为 2 米?