jbox2d教程

Pio*_*k K 6 java box2d jbox2d

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

小智 5

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

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


小智 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);
    }
Run Code Online (Sandbox Code Playgroud)


Ste*_*hen 4

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

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

另一方面,如果您真正想知道的是如何对一般游戏进行编程……那么,这是一个更大的主题,最好通过 Google 搜索游戏教程来解决。请记住,游戏制作是一个通用主题,而不是特定于平台的主题,因此不要回避不是为 Java 编写的教程 - 尝试改编他们的示例代码,您可能会学到更多!