2016-01-08 5 views
-1

Я хотел попробовать Box2d и написал аналогичный код тому, который находится в учебнике, все отображается правильно, но ничего не обновляется и исключений нет. Пожалуйста, помогите мне, я думаю, что сойду с ума.Работает ли LIBGDX Box2d?

@Override 
public void create() { 
    world = new World(new Vector2(0, -10f), true); 
    r = new Box2DDebugRenderer(); 
    camera = new OrthographicCamera(100, 100); 
    camera.translate(50, 50, 0); 
    BodyDef bd = new BodyDef(); 
    bd.type = BodyType.DynamicBody; 
    bd.position.set(50, 50); 
    Body body = world.createBody(bd); 
    CircleShape cs = new CircleShape(); 
    cs.setRadius(1); 
    FixtureDef fd = new FixtureDef(); 
    fd.shape = cs; 
    body.createFixture(fd); 
    cs.dispose(); 
    BodyDef b = new BodyDef(); 
    b.type = BodyType.StaticBody; 
    b.position.set(30, 30); 
    Body bo = world.createBody(b); 
    PolygonShape ps = new PolygonShape(); 
    ps.setAsBox(10, 3); 
    FixtureDef f = new FixtureDef(); 
    f.shape = ps; 
    bo.createFixture(f); 
    ps.dispose(); 
} 

@Override 
public void render() { 
    Gdx.gl.glClearColor(1, 0, 0, 1); 
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 
    r.render(world, camera.combined); 
    camera.update(); 
    world.step(1/60, 6, 2); 
} 

ответ

3

конечно Box2D все еще работают с Libgdx

ваша проблема эта линия

world.step(1/60, 6, 2); 

попробовать сделать это

world.step(1/60f, 6, 2); 

ваш шаг по времени был considerer 0 причиной 1/60 interger is 0

Я проверил ваш код, он будет работать!

Удача