Example usage for com.badlogic.gdx.maps.objects EllipseMapObject getEllipse

List of usage examples for com.badlogic.gdx.maps.objects EllipseMapObject getEllipse

Introduction

In this page you can find the example usage for com.badlogic.gdx.maps.objects EllipseMapObject getEllipse.

Prototype

public Ellipse getEllipse() 

Source Link

Usage

From source file:fr.plafogaj.screens.Game.java

License:Open Source License

private void initEnemies() {
    for (MapObject e : m_tiledMapConfig.getEnemiesObjects()) {
        EllipseMapObject poly = (EllipseMapObject) e;
        m_enemiesList.add(new Knight(
                new Vector2(poly.getEllipse().x * TiledMapConfig.TILE_UNIT_SCALE,
                        poly.getEllipse().y * TiledMapConfig.TILE_UNIT_SCALE),
                m_tiledMapConfig, m_playersList));
    }//from  w w w  .  ja  v  a  2s .co  m

}

From source file:headmade.arttag.utils.MapUtils.java

License:Apache License

private static void createPointLight(ArtTagScreen artTagScreen, EllipseMapObject mapObject, float unitScale) {
    final Ellipse e = mapObject.getEllipse();
    final Color color = getColor(mapObject);

    final PointLight light = new PointLight(artTagScreen.rayHandler, ArtTag.gameSettings.rays, color,
            unitScale * e.width, unitScale * (e.x + e.width / 2), unitScale * (e.y + e.width / 2));
    light.setContactFilter(ArtTag.CAT_LIGHT, ArtTag.GROUP_LIGHT, ArtTag.MASK_LIGHT);
    light.setSoftnessLength(0.5f);//from   w  ww.  j  a va 2s  .  co m

    artTagScreen.lights.add(light);
}

From source file:rosthouse.rosty.loader.MapLoader.java

private void createEllipse(EllipseMapObject ellipseMapObject, PhysicsSystem physicsSystem, Entity entity,
        boolean isSensor) {
    Ellipse ellipse = ellipseMapObject.getEllipse();
    EllipseComponent cmpEllipse = new EllipseComponent(ellipse);
    CircleShape circleShape = new CircleShape();
    circleShape.setRadius(ellipse.height / 2f);
    FixtureDef fixtureDef = new FixtureDef();
    fixtureDef.density = 0;/*from   w ww . j av  a  2  s .c  o m*/
    fixtureDef.friction = 1;
    fixtureDef.restitution = 0.2f;
    PhysicsComponent<CircleShape> cmpPhys;
    if (isSensor) {
        cmpPhys = physicsSystem.createSensorComponent(BodyDef.BodyType.StaticBody, circleShape,
                new Vector2(ellipse.x + ellipse.height / 2, ellipse.y + ellipse.height / 2), fixtureDef);
    } else {
        cmpPhys = physicsSystem.createPhysicsComponent(BodyDef.BodyType.StaticBody, circleShape,
                new Vector2(ellipse.x, ellipse.y), fixtureDef);
    }
    entity.add(cmpEllipse);
    entity.add(cmpPhys);
    cmpPhys.fixture.setUserData(entity.getId());
}

From source file:rosthouse.rosty.loader.MapLoader.java

private void loadSensorLayer(MapLayer layer, PhysicsSystem physicsSystem, Engine engine) {
    for (MapObject object : layer.getObjects()) {
        MapProperties properties = object.getProperties();
        EllipseMapObject obj = (EllipseMapObject) object;
        CircleShape circleShape = new CircleShape();
        circleShape.setRadius(obj.getEllipse().height / 2);
        FixtureDef fd = new FixtureDef();
        fd.density = 5;/*from ww w.ja  v a2 s  .c  o  m*/
        fd.friction = 5;
        fd.restitution = 0.3f;
        Entity entity = new Entity();
        SensorComponent<CircleShape> sensor = physicsSystem.createSensorComponent(BodyDef.BodyType.StaticBody,
                circleShape, new Vector2(obj.getEllipse().x + obj.getEllipse().width / 2,
                        obj.getEllipse().y + obj.getEllipse().height / 2),
                fd);
        engine.addEntity(entity.add(sensor));
        sensor.fixture.setUserData(entity.getId());
        ScriptComponent scriptComponent = new ScriptComponent();
        scriptComponent.addScript(GameConstants.END_COLLISION, new ClearMarbleScript());
        entity.add(scriptComponent);
    }
}

From source file:se.angergard.game.system.MapControllerSystem.java

License:Apache License

private void spawnEnemies(TiledMap tiledMap, int level) {
    Array<Vector2> spawnpoints = new Array<Vector2>();

    MapLayer layer = tiledMap.getLayers().get("EnemySpawnPoints");

    Iterator<MapObject> it = layer.getObjects().iterator();
    while (it.hasNext()) {
        MapObject object = it.next();//from   w  w  w.j  a v  a  2  s .co  m
        EllipseMapObject ellipseMapObject = (EllipseMapObject) object;
        Ellipse ellipse = ellipseMapObject.getEllipse();

        spawnpoints.add(new Vector2(ellipse.x + ellipse.width / 2, ellipse.y + ellipse.height / 2));
    }

    int numberOfEnemies = level / 6 + 1;
    if (numberOfEnemies >= 8) {
        numberOfEnemies = 8;
    }
    float speed = (float) Math.pow(1.045, level);

    for (int i = 0; i < numberOfEnemies; i++) {
        int random = MathUtils.random(0, spawnpoints.size - 1);
        Vector2 vec = spawnpoints.get(random);
        spawnpoints.removeIndex(random);
        Entity enemy = EntityUtils.createEnemyAStar(vec.x, vec.y, speed);
        enemies.add(enemy);
        engine.addEntity(enemy);
    }

}

From source file:se.angergard.game.system.MapControllerSystem.java

License:Apache License

private void createLights(TiledMap tiledMap, int map) {
    MapLayer layer = tiledMap.getLayers().get("PointLights");

    Iterator<MapObject> it = layer.getObjects().iterator();
    while (it.hasNext()) {
        MapObject object = it.next();//from   w w  w .  j a v  a 2  s  . c  o m
        //Always going to be a circle
        EllipseMapObject ellipse = (EllipseMapObject) object;

        Entity entity = new Entity();

        PointLightComponent pointComponent = new PointLightComponent();
        pointComponent.color = Values.LIGHT_COLORS[map];
        pointComponent.maxDistance = (float) Math.sqrt((double) ellipse.getEllipse().area());
        pointComponent.numRays = Values.POINT_LIGHT_DEFAULT_NUM_RAYS;
        pointComponent.x = ellipse.getEllipse().x + ellipse.getEllipse().width / 2;
        pointComponent.y = ellipse.getEllipse().y + ellipse.getEllipse().height / 2;

        LightComponent lightComponent = new LightComponent();
        lightComponent.lightType = LightType.PointLight;

        entity.add(pointComponent);
        entity.add(lightComponent);

        engine.addEntity(entity);

        pointLights.add(entity);
    }

}

From source file:tools.TiledMapHelper.java

License:Apache License

private void loadSupports(World world) {
    System.out.println("LoadingSupports");
    //      Array <CircleMapObject> circles = getMap().getLayers().get("collision1").getObjects().getByType(CircleMapObject.class);
    Array<EllipseMapObject> circles = getMap().getLayers().get("collision1").getObjects()
            .getByType(EllipseMapObject.class);
    System.out.println("circles: " + circles.size);
    if (circles != null && circles.size != 0) {
        for (int i = 0; i < circles.size; i++) {

            //         CircleMapObject circle = circles.first();
            EllipseMapObject circle = circles.get(i);
            //         circle.getEllipse().
            //            Iterator it = circle.getProperties().getKeys();
            //            while(it.hasNext()){
            //               System.out.println(it.next());
            //            }

            //         circle.getCircle().
            float x = circle.getEllipse().x;
            float y = circle.getEllipse().y;
            float radius = circle.getEllipse().width;

            //            System.out.println("radius: " + radius);

            radius /= 32;//from   w  w w  . ja  v  a  2 s.  c  o m
            x /= scale;
            x += radius;
            y /= scale;
            y += radius;

            //            System.out.println("x = " + x);
            //            System.out.println("y = " + y);
            //            System.out.println("radius = " + radius);

            createCircle(world, x, y, radius);
        }
    }

}