Esempio n. 1
0
 private static Filter newContactFilter(short categoryBits, short groupIndex, short maskBits) {
   Filter filter = new Filter();
   filter.categoryBits = categoryBits;
   filter.groupIndex = groupIndex;
   filter.maskBits = maskBits;
   return filter;
 }
 // Applies filter to ALL fixtures that have been added so far
 public void setFilter(short category, short mask) {
   for (Fixture f : scene.getFixtures()) {
     Filter filter = f.getFilterData();
     filter.categoryBits = category;
     filter.maskBits = mask;
     f.setFilterData(filter);
   }
 }
Esempio n. 3
0
 public void setBits(short cat, short mask) {
   Filter filter = new Filter();
   filter.categoryBits = cat;
   filter.maskBits = mask;
   for (Fixture f : body.getFixtureList()) {
     f.setFilterData(filter);
   }
 }
Esempio n. 4
0
  @Override
  protected void initBody(final World world, final Rectangle bounds) {
    super.initBody(world, bounds);

    // By default in character class, category = player and mask = ground
    Filter filter = body.getFixtureList().get(0).getFilterData();
    filter.categoryBits = B2DVars.ENEMY_MASK;
    filter.maskBits = B2DVars.GROUND_MASK | B2DVars.PROJECTILE_MASK | B2DVars.PLAYER_MASK;
    body.getFixtureList().get(0).setFilterData(filter);
  }
Esempio n. 5
0
  /** Kill the enemy */
  public void kill() {
    state = State.BUMP;
    stateTime = 0f;

    // Now don't collide with player or projectile anymore
    // He is dead, but we can't remove it now until animation is done
    Filter filter = body.getFixtureList().get(0).getFilterData();
    filter.categoryBits = B2DVars.ENEMY_MASK;
    filter.maskBits = B2DVars.GROUND_MASK;
    body.getFixtureList().get(0).setFilterData(filter);
  }
Esempio n. 6
0
 public void restart() {
   // reset player
   Filter filter = body.getFixtureList().get(0).getFilterData();
   filter.categoryBits = GM.PLAYER_CATEGORY_BITS;
   body.getFixtureList().get(0).setFilterData(filter);
   body.setLinearVelocity(0, 0);
   body.setTransform(10f, 2.5f, 0);
   body.setAngularVelocity(0);
   hp = maxHp;
   alive = true;
 }
Esempio n. 7
0
  public OtherBoss() {
    super("Qubo");

    health = maxHealth = 50;
    size.getTarget().set(2, 2);
    fixture = rectCollision(2, 2);
    Filter filter = new Filter();
    filter.categoryBits = 0x80;
    filter.maskBits = 0x7;
    fixture.setFilterData(filter);
    fixture.setDensity(9999);
    damageOnTouch = 1.5f;

    DomeHat wh = new DomeHat(this, new Vector2(0, 1.2f));
    GameScreen.i.getEntities().add(wh);
  }
Esempio n. 8
0
  public void explode() {
    hp = 0;
    alive = false;
    Filter filter = body.getFixtureList().get(0).getFilterData();
    filter.categoryBits = GM.NOTHING_CATEGORY_BITS;
    body.getFixtureList().get(0).setFilterData(filter);
    body.setGravityScale(0);
    body.setLinearVelocity(0, 0);
    Array<ParticleEffect> particleEffects = playScreen.getParticleEffectArray();
    ActorBuilder.createExplodeEffect(x, y, particleEffects);

    if (leftThrottleSoundId >= 0) {
      throttleSound.pause(leftThrottleSoundId);
    }
    if (rightThrottleSoundId >= 0) {
      throttleSound.pause(rightThrottleSoundId);
    }
    explosionSound.play(GM.soundVolume, 1f, (x - 10f) / 20f);
  }
Esempio n. 9
0
 private Body createBody(float x, float y, float width, float height, boolean sensor) {
   BodyDef bodyDef = new BodyDef();
   bodyDef.type = BodyDef.BodyType.KinematicBody;
   bodyDef.position.set(new Vector2(x, y));
   bodyDef.allowSleep = true;
   PolygonShape shape = new PolygonShape();
   shape.setAsBox(width / 2, height / 2, new Vector2(0, 0), 0);
   Body _body = WorldUtils.world.createBody(bodyDef);
   Fixture fixture = _body.createFixture(shape, 1.0f);
   fixture.setFriction(0);
   fixture.setSensor(sensor);
   if (!sensor) {
     fixture.setUserData(Constants.POTION_FIXTURE);
   } else {
     fixture.setUserData(Constants.NOT_COLLIDER_FIXTURE);
   }
   Filter filter = new Filter();
   filter.categoryBits = Constants.COLLISION_CREATURE;
   filter.maskBits =
       Constants.COLLISION_GROUND + Constants.COLLISION_CREATURE + Constants.COLLISION_FIELD;
   fixture.setFilterData(filter);
   _body.setUserData(this);
   return _body;
 }
Esempio n. 10
0
 public void setCategoryFilter(short filterBit) {
   Filter filter = new Filter();
   filter.categoryBits = filterBit;
   fixture.setFilterData(filter);
 }