box2d for java_java – 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);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值