java - jbox2d教程

标签 java box2d jbox2d

<分区>

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

最佳答案

我已将 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);
    }

关于java - jbox2d教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5686181/

相关文章:

java - libgdx 和 Box2d 碰撞优化

java - 我将如何创建 Horizo​​ntally centered “Gravity” ? - libGDX -

java - 我如何检测 Java 中图像(透明背景)的边缘?

java - 为什么我必须在堆栈中两次将顶部初始化为-1?

java - 添加附加项目后 ListView 不刷新

javascript - 我应该在网络游戏中使用固定时间步长还是动态时间步长?

android - 如何检测是否在 jBox2D 中触摸了特定的物体

box2d - Box2D 中 "ground body"的用途?

java - 从 BroadcastReceiver 绑定(bind)到本地服务

java - 将 StringBuilder 内容“传输”到 java 中的新 ArrayList