我正在用 Java 脚本创建一个 Box2d 世界,我没有在其中添加任何对象。我将重力设置为零。当我尝试在画布内绘制 box2d 对象时(如果存在),我发现在 0,0 处绘制了一个矩形。但是,当我使用 DebugDraw() 时,不会按预期显示任何对象。有人可以解释为什么要绘制额外的矩形吗?代码如下:
canvas=document.getElementById("cnv");
context=canvas.getContext("2d");
x=0;
y=0;
scale=100;
gravity=new b2Vec2(0,0);
world=new b2World(gravity,false);
requestAnimFrame(main);
function main()
{
requestAnimFrame(main);
begin();
}
function begin()
{
world.Step(1/60,10,10);
drawObjects();
world.ClearForces();
}
function drawObjects()
{
canvas.width=canvas.width;
for (currentBody = world.GetBodyList(); currentBody; currentBody =currentBody.m_next)
{
position = currentBody.GetPosition();
if (currentBody.GetType() == b2Body.b2_staticBody)
{
context.fillStyle="red";
alert(position.x+" "+position.y);
context.fillRect(position.x*scale,position.y*scale,125,125);
}
}
}