答案 0 :(得分:6)
我已将C ++手册中的Hello World示例移植到jbox2d。这只是一个逐行端口。显然你需要编写一个基本的java程序并调用这段代码。你还需要导入一些库,我在StackOverflow中的导入格式有问题所以我将它们排除在外。希望您的IDE能够为您处理导入。
// Static Body
Vec2 gravity = new Vec2(0,-10);
World world = new World(gravity);
BodyDef groundBodyDef = new BodyDef();
groundBodyDef.position.set(0, -10);
Body groundBody = world.createBody(groundBodyDef);
PolygonShape groundBox = new PolygonShape();
groundBox.setAsBox(50, 10);
groundBody.createFixture(groundBox, 0);
// Dynamic Body
BodyDef bodyDef = new BodyDef();
bodyDef.type = BodyType.DYNAMIC;
bodyDef.position.set(0, 4);
Body body = world.createBody(bodyDef);
PolygonShape dynamicBox = new PolygonShape();
dynamicBox.setAsBox(1, 1);
FixtureDef fixtureDef = new FixtureDef();
fixtureDef.shape = dynamicBox;
fixtureDef.density = 1;
fixtureDef.friction = 0.3f;
body.createFixture(fixtureDef);
// Setup world
float timeStep = 1.0f/60.0f;
int velocityIterations = 6;
int positionIterations = 2;
// Run loop
for (int i = 0; i < 60; ++i) {
world.step(timeStep, velocityIterations, positionIterations);
Vec2 position = body.getPosition();
float angle = body.getAngle();
System.out.printf("%4.2f %4.2f %4.2f\n", position.x, position.y, angle);
}
答案 1 :(得分:4)
这不是一个与编程有关的直接问题,因此很快就会关闭。
无论如何,人们不会在 JBox2D中编写游戏,一个游戏使用 JBox2D。如果你正在寻找使用jbox2d库的帮助,快速谷歌搜索出现one tutorial(对于android,但我希望该库的一般用途非常普遍),看起来可能会有所帮助 - 或者,尝试JBox2D user manual。
另一方面,如果你真正想要知道的是如何一般地编写游戏......那么,这是一个更大的主题,最好通过谷歌搜索来解决游戏教程。请记住,游戏制作是一个通用主题,而不是特定于平台的,所以不要回避不是为Java编写的教程 - 尝试改编他们的示例代码,你可能会学到更多!
答案 2 :(得分:4)