List of usage examples for com.badlogic.gdx.physics.box2d Body setMassData
public void setMassData(MassData data)
From source file:com.dongbat.invasion.registry.EnemyRegistry.java
public static Entity createEnemy(String enemyType, Float positionX) { EnemyInfo enemyInfo = get(enemyType); EnemyType enemyTypeAI = createEnemyType(enemyInfo); Enemy enemyComponent = new Enemy(); enemyComponent.setType(enemyTypeAI); enemyComponent.setAirUnit(enemyInfo.isAirUnit()); enemyComponent.setBoss(enemyInfo.isBoss()); enemyComponent.setInfinitePickup(enemyInfo.isInfinitePickup()); enemyComponent.setCanPickAds(enemyInfo.canPickAds()); enemyComponent.setAdsPickingDelay(enemyInfo.getAdsPickingDelay()); enemyComponent.setTributeDelay(enemyInfo.getTributeDelay()); enemyComponent.setBounty(enemyInfo.getBounty()); Vector2 position;//from w ww. j a v a 2 s . co m if (enemyInfo.isAirUnit()) { position = new Vector2(Constants.ENEMY.AIR_START_X, Constants.ENEMY.AIR_START_Y); } else { float startY = Constants.PHYSICS.GROUND_Y + enemyInfo.getRadius(); position = new Vector2(Constants.ENEMY.GROUND_START_X, startY); } if (positionX != null) { position.x = positionX; } Body body = PhysicsUtil.createBody(position, enemyInfo.getRadius()); body.setGravityScale(0); MassData massData = new MassData(); massData.mass = 1; body.setMassData(massData); Physics physicsComponent = new Physics(); physicsComponent.setBody(body); physicsComponent.setMaxSpeed(enemyInfo.getMaxSpeed()); physicsComponent.setRadius(enemyInfo.getRadius()); Health healthComponent = new Health(enemyInfo.getMaxHealth(), enemyInfo.getMaxHealth()); Collision collision = new Collision(); Buff buffComponent = new Buff(); Delay delayComponent = new Delay(); Ability abilityComponent = new Ability(); String abilities = enemyInfo.getAbilities(); if (abilities != null && !abilities.isEmpty()) { String[] names = enemyInfo.getAbilities().split(","); for (String name : names) { AbilityInfo ability = AbilityRegistry.getAbility(name); abilityComponent.addAbility(name, ability); } } EnemyMovement movementComponent = new EnemyMovement(); DisplayPosition displayPosition = new DisplayPosition(position); Ads ads = new Ads(); ads.setOffline(true); ads.setPosition(new Vector2(Constants.ADS.DEFAULT_OFFSET_X, Constants.ADS.DEFAULT_OFFSET_Y)); Spine spineComponent = new Spine(enemyInfo.getSpineName()); Entity enemy = ECSUtil.getWorld().createEntity().edit().add(enemyComponent).add(physicsComponent) .add(healthComponent).add(collision).add(buffComponent).add(abilityComponent).add(movementComponent) .add(ads).add(displayPosition).add(spineComponent).add(delayComponent).getEntity(); physicsComponent.getBody().setUserData(enemy); // Add enemy to a group ECSUtil.getWorld().getManager(GroupManager.class).add(enemy, Constants.ENEMY.GROUP_NAME); return enemy; }
From source file:com.siondream.core.physics.PhysicsData.java
License:Apache License
public Body createBody(Object userData) { World world = Env.game.getWorld();//from w ww . j a va2 s .co m Body body = world.createBody(bodyDef); body.setMassData(massData); body.setUserData(userData); for (int i = 0; i < fixtureDefs.size; ++i) { Fixture fixture = body.createFixture(fixtureDefs.get(i)); fixture.setUserData(i); } return body; }
From source file:com.siondream.libgdxjam.physics.PhysicsData.java
License:Apache License
public Body createBody(World world, Object userData) { Body body = world.createBody(bodyDef); body.setMassData(massData); body.setUserData(userData);/*from w w w .j av a 2 s.c o m*/ for (int i = 0; i < fixtureDefs.size; ++i) { Fixture fixture = body.createFixture(fixtureDefs.get(i)); fixture.setUserData(i); } return body; }
From source file:loon.physics.PhysicsBodyBuilder.java
License:Apache License
public Body build(boolean disposeShapes) { Body body = world.createBody(bodyDef); for (int i = 0; i < fixtureDefs.size(); i++) { FixtureDef fixtureDef = fixtureDefs.get(i); Fixture fixture = body.createFixture(fixtureDef); fixture.setUserData(fixtureUserDatas.get(i)); }//from w w w .j a v a 2s .c o m if (massSet) { MassData bodyMassData = body.getMassData(); massData.center.set(bodyMassData.center); body.setMassData(massData); } body.setUserData(userData); body.setTransform(position, angle); reset(disposeShapes); return body; }