Example usage for com.badlogic.gdx.physics.box2d World setContactListener

List of usage examples for com.badlogic.gdx.physics.box2d World setContactListener

Introduction

In this page you can find the example usage for com.badlogic.gdx.physics.box2d World setContactListener.

Prototype

public void setContactListener(final ContactListener listener) 

Source Link

Usage

From source file:com.badlogic.gdx.tests.box2d.ConveyorBelt.java

License:Apache License

@Override
protected void createWorld(World world) {
    world.setContactListener(this);

    // Ground//from w  w  w  .  j  a  v  a2s.c o m
    {
        BodyDef bodyDef = new BodyDef();
        groundBody = world.createBody(bodyDef);

        EdgeShape shape = new EdgeShape();
        shape.set(new Vector2(-20.0f, 0.0f), new Vector2(20.0f, 0.0f));
        groundBody.createFixture(shape, 0.0f);
    }

    // Platform
    {
        BodyDef bd = new BodyDef();
        bd.position.set(-5.0f, 5.0f);
        Body body = world.createBody(bd);

        PolygonShape shape = new PolygonShape();
        shape.setAsBox(10.0f, 0.5f);

        FixtureDef fd = new FixtureDef();
        fd.shape = shape;
        fd.friction = 0.8f;
        m_platform = body.createFixture(fd);
    }

    // Boxes
    for (int i = 0; i < 5; ++i) {
        BodyDef bd = new BodyDef();
        bd.type = BodyType.DynamicBody;
        bd.position.set(-10.0f + 2.0f * i, 7.0f);
        Body body = world.createBody(bd);

        PolygonShape shape = new PolygonShape();
        shape.setAsBox(0.5f, 0.5f);
        body.createFixture(shape, 20.0f);
    }
}

From source file:com.badman.slingmango.data.ConveyorBelt2.java

License:Apache License

@Override
protected void createWorld(World world) {
    world.setContactListener(this);

    // Ground/*from  w w  w  .ja  va 2 s.  co  m*/
    {
        BodyDef bodyDef = new BodyDef();
        groundBody = world.createBody(bodyDef);

        EdgeShape shape = new EdgeShape();
        shape.set(new Vector2(-20.0f, 0.0f), new Vector2(20.0f, 0.0f));
        groundBody.createFixture(shape, 0.0f);
    }

    // Platform
    {
        BodyDef bd = new BodyDef();
        bd.position.set(-5.0f, 5.0f);
        Body body = world.createBody(bd);

        PolygonShape shape = new PolygonShape();
        shape.setAsBox(10.0f, 0.5f);

        FixtureDef fd = new FixtureDef();
        fd.shape = shape;
        fd.friction = 0.8f;
        m_platform = body.createFixture(fd);
    }

    // Boxes
    for (int i = 0; i < 5; ++i) {
        /*BodyDef bd = new BodyDef();
        bd.type = BodyType.DynamicBody;
        bd.position.set(-10.0f + 2.0f * i, 7.0f);
        Body body = world.createBody(bd);
                
        PolygonShape shape = new PolygonShape();
        shape.setAsBox(0.5f, 0.5f);
        body.createFixture(shape, 20.0f);*/

        Mango mango = new Mango(world);
        mango.body.setTransform(-10.0f + 2.0f * i, 7.0f, 0);
    }

    texture = new Texture(Gdx.files.internal("basket.png"));
}