我需要得到我的box2d世界的坐标列表 - 我试图获得一个环绕效果,以便从屏幕一侧出现的粒子出现在另一侧。 box2d没有很好地记录为Processing,我能找到的唯一例子是java(我知道它的母语,但它需要翻译)。这是here。
我认为行动就在这里:
private function updateWorld(e:Event):void {
world.Step(1/30,10,10);
world.ClearForces();
for (var b:b2Body=world.GetBodyList(); b; b=b.GetNext()) {
if (b.GetType()==b2Body.b2_dynamicBody) {
if (b.GetJointList()==null) {
if (b.GetPosition().x*worldScale>640) {
b.SetPosition(new b2Vec2(0,b.GetPosition().y));
}
if (b.GetPosition().x*worldScale<0) {
b.SetPosition(new b2Vec2(640/worldScale,b.GetPosition().y));
}
}
}
}
world.DrawDebugData();
}
所以我试过翻译这个,虽然我遇到了world.GetBodyList
我假设世界是我创建的实例化box2d世界。就是这样,Processing似乎并没有意识到这一点。基本上我如何获得所有粒子坐标的数组。应该更容易....
答案 0 :(得分:1)
你可以用Java做任何事情,你可以在Processing中做。但是你发布的代码不是Java。这是C ++。 (编辑: George指出它看起来像ActionScript。无论哪种方式,它都不是Java!)
您不需要使用这些库来处理来自Processing的JBox2D。
您可以找到JBox2D here的文档。
要回答您的问题,是的,world
变量将是您在设置物理环境时创建的World
实例。
如果您正在使用其中一个Processing库,则可能会隐藏World
实例的创建。您可能必须自己直接使用JBox2D。