首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JBox2D坐标不匹配

JBox2D坐标不匹配
EN

Stack Overflow用户
提问于 2014-01-13 16:32:32
回答 1查看 68关注 0票数 0

在一个Jbox2D程序中,我创建了两个对象,一个矩形在(0, 10 )米,10米宽,1米宽,一个球在(1,0),半径为0.5f米

代码语言:javascript
运行
复制
//in RectangleObject Class
PolygonShape cs = new PolygonShape();
cs.setAsBox(width, height);

//In CircleObject Class
CircleShape cs = new CircleShape();
cs.m_radius = radius;  

当我的程序运行时,球会像我预期的那样向平台移动并击中矩形,但我得到的数字与我所期望的不一样。

代码语言:javascript
运行
复制
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米?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-14 18:00:49

多边形形状的参数是“半宽”和“半高”。这是来自box2d的一种奇怪的继承(参见手册这里),而不是最直观的行为。尝试:

代码语言:javascript
运行
复制
cs.setAsBox(width / 2, height / 2);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21096413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档