Android Open Source - libgdx-demo-pax-britannica Collision






From Project

Back to project page libgdx-demo-pax-britannica.

License

The source code is released under:

Copyright (c) 2010 Ben Abraham, Renaud B?dard, Henk Boom, Daniel Burton, Matthew Gallant Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated ...

If you think the Android project libgdx-demo-pax-britannica listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package de.swagner.paxbritannica;
/*from   w  ww.  java  2s . co  m*/
import com.badlogic.gdx.math.Intersector;

public class Collision {

  private static Bullet bullet;
  private static Ship ship;
  
  public static void collisionCheck() {
    
    for (int i=0; i< GameInstance.getInstance().bullets.size;i++) {
      bullet = GameInstance.getInstance().bullets.get(i);
      if (bullet.alive) {
        for (int n=0; n< GameInstance.getInstance().fighters.size;n++) {
          ship =  GameInstance.getInstance().fighters.get(n);
          collisionCheck(bullet, ship);
        }
        for (int n=0; n< GameInstance.getInstance().bombers.size;n++) {
          ship =  GameInstance.getInstance().bombers.get(n);
          collisionCheck(bullet, ship);
        }
        for (int n=0; n< GameInstance.getInstance().frigates.size;n++) {
          ship =  GameInstance.getInstance().frigates.get(n);
          collisionCheck(bullet, ship);
        }
        for (int n=0; n< GameInstance.getInstance().factorys.size;n++) {
          ship =  GameInstance.getInstance().factorys.get(n);
          collisionCheck(bullet, ship);
        }
      }

    }
  }

  private static void collisionCheck(Bullet bullet, Ship ship) {
    if (bullet.id!=ship.id && ship.alive) {
      
      for(int i = 0; i<ship.collisionPoints.size;++i) {
        if(Intersector.isPointInPolygon(bullet.collisionPoints, ship.collisionPoints.get(i))) {
          ship.damage(bullet.damage);
          GameInstance.getInstance().bulletHit(ship, bullet);
          bullet.alive = false;
          return;
        }
      }
      
      for(int i = 0; i<bullet.collisionPoints.size;++i) {
        if(Intersector.isPointInPolygon(ship.collisionPoints, bullet.collisionPoints.get(i))) {
          ship.damage(bullet.damage);
          GameInstance.getInstance().bulletHit(ship, bullet);
          bullet.alive = false;
          return;
        }
      }
    }
  }

}




Java Source Code List

de.swagner.paxbritannica.Bullet.java
de.swagner.paxbritannica.Collision.java
de.swagner.paxbritannica.Constants.java
de.swagner.paxbritannica.DefaultScreen.java
de.swagner.paxbritannica.GameInstance.java
de.swagner.paxbritannica.GameScreen.java
de.swagner.paxbritannica.IOSLauncher.java
de.swagner.paxbritannica.PaxBritannica.java
de.swagner.paxbritannica.Resources.java
de.swagner.paxbritannica.Ship.java
de.swagner.paxbritannica.Targeting.java
de.swagner.paxbritannica.android.AndroidLauncher.java
de.swagner.paxbritannica.background.BackgroundFXRenderer.java
de.swagner.paxbritannica.background.Debris.java
de.swagner.paxbritannica.background.Fish.java
de.swagner.paxbritannica.bomber.Bomb.java
de.swagner.paxbritannica.bomber.BomberAI.java
de.swagner.paxbritannica.bomber.Bomber.java
de.swagner.paxbritannica.client.HtmlLauncher.java
de.swagner.paxbritannica.desktop.DesktopLauncher.java
de.swagner.paxbritannica.factory.EasyEnemyProduction.java
de.swagner.paxbritannica.factory.FactoryProduction.java
de.swagner.paxbritannica.factory.HardEnemyProduction.java
de.swagner.paxbritannica.factory.MediumEnemyProduction.java
de.swagner.paxbritannica.factory.PlayerProduction.java
de.swagner.paxbritannica.factory.Production.java
de.swagner.paxbritannica.fighter.FighterAI.java
de.swagner.paxbritannica.fighter.Fighter.java
de.swagner.paxbritannica.fighter.Laser.java
de.swagner.paxbritannica.frigate.FrigateAI.java
de.swagner.paxbritannica.frigate.Frigate.java
de.swagner.paxbritannica.frigate.MissileAI.java
de.swagner.paxbritannica.frigate.Missile.java
de.swagner.paxbritannica.help.Help.java
de.swagner.paxbritannica.mainmenu.Countdown.java
de.swagner.paxbritannica.mainmenu.FactorySelector.java
de.swagner.paxbritannica.mainmenu.MainMenu.java
de.swagner.paxbritannica.particlesystem.BigBubbleParticleEmitter.java
de.swagner.paxbritannica.particlesystem.BubbleParticleEmitter.java
de.swagner.paxbritannica.particlesystem.ExplosionParticleEmitter.java
de.swagner.paxbritannica.particlesystem.ParticleEmitter.java
de.swagner.paxbritannica.particlesystem.Particle.java
de.swagner.paxbritannica.particlesystem.SparkParticleEmitter.java
de.swagner.paxbritannica.settings.Settings.java