我在Box2D中有一个简单的问题: 如果你想获得鼠标的世界坐标,这就是你将在Java中使用的函数:
void update(int x, int y)
{
if(mousejoint !=0)
{
// Always convert to world coordinates!
Vec2 mouseWorld = box2d.coordPixelsToWorld(x,y);
mousejoint.setTarget(mouseWorld);
}
}
什么是coordPixelsToWorld等效于c ++?
答案 0 :(得分:1)
像素和Box2D位置之间的任何关联取决于使用库的图形程序。
例如,在 Testbed 程序(附带并使用C ++ Box2D库的图形程序)中,KSession
等价物是box2d.coordPixelsToWorld
方法。而在 HelloWorld 程序(不是图形程序,但也附带C ++ Box2D代码)中,像素和Box2D位置之间没有任何关联,并且没有等效的方法。
如果您使用Box2D库在C ++中编写自己的图形程序,可以查看 Testbed 程序的Camera::ConvertScreenToWorld
方法的源代码,以查看示例如何自己编写这样的方法。您可以在DebugDraw.cpp
文件中找到此方法。