7

你能告诉我:我在哪里可以找到“在 jbox2d 中编程游戏”的教程?

4

3 回答 3

5

我使用 jBox2D 和 javaFX 2 开发了一个简单的应用程序。您可以在此处找到此应用程序的教程和源代码。

您也可以在此处观看应用程序示例演示视频

于 2011-12-03T19:12:44.527 回答
5

我已将 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);
    }
于 2012-01-19T16:00:54.387 回答
4

这不是一个直接与编程相关的问题,因此可能很快就会关闭。

无论如何,一个不使用 JBox2D 编写游戏一个使用JBox2D 编写游戏。如果您在使用 jbox2d 库时需要帮助,可以通过快速的 Google 搜索找到一个教程(适用于 android,但我希望该库的一般用途非常普遍)看起来可能会有所帮助 - 或者,试试 JBox2D用户手册

另一方面,如果你真正想知道的是如何对游戏进行编程……嗯,这是一个更大的话题,最好通过谷歌搜索游戏教程来解决。请记住,游戏制作是一个普遍的话题,而不是特定于平台的,所以不要回避不是为 Java 编写的教程 - 尝试修改他们的示例代码,你可能会学到更多!

于 2011-04-16T11:53:25.377 回答