List of usage examples for com.badlogic.gdx.maps.objects EllipseMapObject getEllipse
public Ellipse getEllipse()
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); } } }